您的位置:首页 > 编程语言 > Python开发

Python3-线程执行顺序问题(生命周期)

2018-04-01 15:00 375 查看
import threading
#2、线程的执行顺序
import time

class MyThread(threading.Thread):
def run(self):
for i in range(3):
time.sleep(1)
msg = "I'm " + self.name + "@" + str(i)
print(msg)
time.sleep(2)

if __name__ == "__main__":

for i in range(5):
t = MyThread()
t.start()
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/thread/t06.pyI'm Thread-1@0I'm Thread-2@0I'm Thread-3@0I'm Thread-4@0I'm Thread-5@0I'm Thread-1@1I'm Thread-3@1I'm Thread-2@1I'm Thread-5@1I'm Thread-4@1I'm Thread-2@2I'm Thread-4@2I'm Thread-5@2I'm Thread-3@2I'm Thread-1@2Process finished with exit code 0===============================#当线程执行到sleep语句时,线程将会被阻塞(Blocked),到sleep结束后,线程就进入就绪(Runnable),CPU就会去调度。# 等待CPU调度。#线程的调度是由CPU或者说操作系统根据当时的状态自行决定#3.总结# 1.每一个线程一定会有一个名字,如果用户没有指定名字,系统会为线程指定一个名字(Thread-1/2/3...)# 2.当线程的run方法结束的时候该线程完成任务。# 3.我们程序员无法控制线程调试的顺序,但是可以通过别的方式来影响线程调试的方式 。# 4.线程的几种状态。在线程对象被创建出来,且没有start之前只是存在状态。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: