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 相关文章推荐
编写Python CGI脚本的教程
Jun 29 Python
简单了解python模块概念
Jan 11 Python
python2.x实现人民币转大写人民币
Jun 20 Python
详解用python写网络爬虫-爬取新浪微博评论
May 10 Python
python根据多个文件名批量查找文件
Aug 13 Python
Python随机函数库random的使用方法详解
Aug 21 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
新手入门学习python Numpy基础操作
Mar 02 Python
python爬虫中url管理器去重操作实例
Nov 30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
如何解决.cuda()加载用时很长的问题
May 24 Python
Python帮你解决手机qq微信内存占用太多问题
Feb 15 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 多维数组排序实现代码
2009/08/05 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
Vue实现PopupWindow组件详解
2018/04/28 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python实现教务管理系统
2018/03/12 Python
如何基于python实现归一化处理
2020/01/20 Python
Python with语句用法原理详解
2020/07/03 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
python用700行代码实现http客户端
2021/01/14 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
老人祝寿主持词
2014/03/28 职场文书
生产文员岗位职责
2014/04/05 职场文书
运动会入场口号
2014/06/07 职场文书
医学专业自荐信
2014/06/14 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
竞聘书的秘诀
2019/04/02 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
Python简易开发之制作计算器
2022/04/28 Python