Python中threading模块join函数用法实例分析


Posted in Python onJune 04, 2015

本文实例讲述了Python中threading模块join函数用法。分享给大家供大家参考。具体分析如下:

join的作用是众所周知的,阻塞进程直到线程执行完毕。通用的做法是我们启动一批线程,最后join这些线程结束,例如:

for i in range(10):
 t = ThreadTest(i)
 thread_arr.append(t)

for i in range(10):
 thread_arr[i].start()

for i in range(10):
 thread_arr[i].join()

此处join的原理就是依次检验线程池中的线程是否结束,没有结束就阻塞直到线程结束,如果结束则跳转执行下一个线程的join函数。

而py的join函数还有一个特殊的功能就是可以设置超时,如下:

Thread.join([timeout])

Wait until the thread terminates. This blocks the calling thread until the thread whose join() method is called terminates ? either normally or through an unhandled exception ? or until the optional timeout occurs.
 
也就是通过传给join一个参数来设置超时,也就是超过指定时间join就不在阻塞进程。而在实际应用测试的时候发现并不是所有的线程在超时时间内都结束的,而是顺序执行检验是否在time_out时间内超时,例如,超时时间设置成2s,前面一个线程在没有完成的情况下,后面线程执行join会从上一个线程结束时间起再设置2s的超时。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Android应用开发中Action bar编写的入门教程
Feb 26 Python
使用Python写CUDA程序的方法
Mar 27 Python
详解Python核心对象类型字符串
Feb 11 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
linux查找当前python解释器的位置方法
Feb 20 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
django如何通过类视图使用装饰器
Jul 24 Python
Python变量格式化输出实现原理解析
Aug 06 Python
python中类与对象之间的关系详解
Dec 16 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 #Python
python创建进程fork用法
Jun 04 #Python
Python文件及目录操作实例详解
Jun 04 #Python
Python通过poll实现异步IO的方法
Jun 04 #Python
Python通过select实现异步IO的方法
Jun 04 #Python
Python守护进程用法实例分析
Jun 04 #Python
Python使用multiprocessing创建进程的方法
Jun 04 #Python
You might like
为PHP初学者的8点有效建议
2010/11/20 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
简单解决Python文件中文编码问题
2015/11/22 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
英国袜子店:Sock Shop
2017/01/11 全球购物
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
商业活动邀请函
2014/02/04 职场文书
世界读书日的活动方案
2014/08/20 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
学校重阳节活动总结
2015/03/24 职场文书
银行自荐信范文
2015/03/25 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js