Python中threading模块join函数用法实例分析
本文实例讲述了Python中threading模块join函数用法。分享给大家供大家参考。具体分析如下:
join的作用是众所周知的,阻塞进程直到线程执行完毕。通用的做法是我们启动一批线程,最后join这些线程结束,例如:
foriinrange(10): t=ThreadTest(i) thread_arr.append(t) foriinrange(10): thread_arr[i].start() foriinrange(10): thread_arr[i].join()
此处join的原理就是依次检验线程池中的线程是否结束,没有结束就阻塞直到线程结束,如果结束则跳转执行下一个线程的join函数。
而py的join函数还有一个特殊的功能就是可以设置超时,如下:
Thread.join([timeout])
Waituntilthethreadterminates.Thisblocksthecallingthreaduntilthethreadwhosejoin()methodiscalledterminates–eithernormallyorthroughanunhandledexception–oruntiltheoptionaltimeoutoccurs.
也就是通过传给join一个参数来设置超时,也就是超过指定时间join就不在阻塞进程。而在实际应用测试的时候发现并不是所有的线程在超时时间内都结束的,而是顺序执行检验是否在time_out时间内超时,例如,超时时间设置成2s,前面一个线程在没有完成的情况下,后面线程执行join会从上一个线程结束时间起再设置2s的超时。
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下