Threaing模块, 多线程的使用。
Threaing模块, 多线程的使用。
什么情况下会用到threaind模块?你不想等一个线程调用完然后才继续执行第二个线程的时候。
例:
如果你不使用多线程同时进行,那么正常情况下,你需要等待loop(0),第一个线程全部执行完成后才能继续执行loop(1),也就是要等待4秒之后。
而使用threading模块后,多线程同时运行, 在启动loop(0)的时候,同时启动了loop(1),而loop1的等待是2秒,所以反而比loop(0)的时候更早结束了线程,
所以有了上图的结果展现。
Thread也是多线程,但现在一般不使用,因为它没有守护线程,主线程退出时,子线程是否结束,都会强行退出。
而threading是对thread的继续封装而成的,具备守护线程的功能。
下面说说threading的使用流程:
#创建线程
List=[] #创建一个空列表
For i in range(0,2):
t=threading.Thread(target=xx,args()) #xx是对应的方法或函数, args是对应XX需要带的参数
List.append(t) #把封装好的线程加入列表中
#开始线程
For i in rang(0,2):
List[i].start()
#等待线程结束
For i in range(0,2):
List[i].join()