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实现通过代理服务器访问远程url的方法
Apr 29 Python
python从入门到精通(DAY 3)
Dec 20 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
简单谈谈python的反射机制
Jun 28 Python
使用python实现接口的方法
Jul 07 Python
python实现数据库跨服务器迁移
Apr 12 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
详解Python中openpyxl模块基本用法
Feb 23 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初学者最感迷茫的问题小结
2010/03/27 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
laravel model 两表联查示例
2019/10/24 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python中使用PIPE操作Linux管道
2015/02/04 Python
python在控制台输出进度条的方法
2015/06/20 Python
Python之re操作方法(详解)
2017/06/14 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
python路径的写法及目录的获取方式
2019/12/26 Python
基于matplotlib xticks用法详解
2020/04/16 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
自荐信范文
2013/12/10 职场文书
生产班组长岗位职责
2014/01/05 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
企业安全生产责任书
2014/04/14 职场文书
会议欢迎词范文
2015/01/27 职场文书
晚会闭幕词
2015/01/28 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
分享Python获取本机IP地址的几种方法
2022/03/17 Python