import threading #线程名字 # class MyThread(threading.Thread): # # def run(self): # print("%s线程正在下载..."%self.name) # # if __name__ == "__main__": # t = MyThread(name="downloadThread") # t.start() #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) if __name__ == "__main__": for i in range(5): t = MyThread() t.start() #当线程执行到sleep语句时,线程将会被阻塞(Blocked),到sleep结束后, #线程就进入就绪状态(runable),等待CPU调度, #线程的调度是由CPU或者操作系统根据当时的状态自动调用 #总结 #1.每一个线程一定会有一个名字,,如果用户没有指定名字,系统会为线程指定一个名字(Thread-1/2/3) #2.当线程的run方法结束的时候该线程完成任务 #3.我们程序员无法控制线程调度的顺序.但是可以通过别的方式来影响线程调度的方式. #4.线程的几种状态,新建,就绪,运行,死亡,