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中捕捉详细异常信息的代码示例
Sep 18 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 Python
Python实现JSON反序列化类对象的示例
Jan 31 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
Python 如何提高元组的可读性
Aug 26 Python
python3.8下载及安装步骤详解
Jan 15 Python
Pytorch高阶OP操作where,gather原理
Apr 30 Python
python中sys模块是做什么用的
Aug 16 Python
解决jupyter notebook启动后没有token的坑
Apr 24 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
新闻分类录入、显示系统
2006/10/09 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
QQ登录简单实现代码
2021/03/09 Javascript
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
Python正则表达式匹配ip地址实例
2014/10/09 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
Python实现简单字典树的方法
2016/04/29 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
django 信号调度机制详解
2019/07/19 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
元旦晚会邀请函
2014/01/27 职场文书
夜不归宿检讨书
2014/02/25 职场文书
《散步》教学反思
2014/03/02 职场文书
工作决心书范文
2014/03/11 职场文书
公司任命书范本
2014/06/04 职场文书
工程售后服务方案
2014/06/08 职场文书
电气自动化求职信
2014/06/24 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
产品质量保证书范本
2015/02/27 职场文书