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 相关文章推荐
MySQL适配器PyMySQL详解
Sep 20 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
python如何在循环引用中管理内存
Mar 20 Python
Flask框架Flask-Login用法分析
Jul 23 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
python enumerate内置函数用法总结
Jan 07 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python opencv进行图像拼接
Mar 27 Python
Python列表如何更新值
May 27 Python
没编程基础可以学python吗
Jun 17 Python
Python文件夹批处理操作代码实例
Jul 21 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
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
javascript 对象的定义方法
2007/01/10 Javascript
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
VueJS全面解析
2016/11/10 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
layui弹出层效果实现代码
2017/05/19 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
python线程里哪种模块比较适合
2020/08/02 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
白酒市场开发计划书
2014/01/09 职场文书
测量工程专业求职信
2014/02/24 职场文书
建筑安全责任书范本
2014/07/24 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
Python利用folium实现地图可视化
2021/05/23 Python
JS实现九宫格拼图游戏
2022/06/28 Javascript
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技