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实现将内容分行输出
Nov 05 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
微信跳一跳辅助python代码实现
Jan 05 Python
详解Python发送email的三种方式
Oct 18 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
python多进程重复加载的解决方式
Dec 13 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
Python pytesseract验证码识别库用法解析
Jun 29 Python
Python识别处理照片中的条形码
Nov 16 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递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
PHP里的单例类写法实例
2015/06/25 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
element 动态合并表格的步骤
2020/12/31 Javascript
Python isinstance函数介绍
2015/04/14 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
python 决策树算法的实现
2020/10/09 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
python中PyQuery库用法分享
2021/01/15 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
英文简历自荐信范文
2013/12/11 职场文书
2014国培学习感言
2014/03/05 职场文书
党委班子对照检查材料
2014/08/19 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP
MySQL系列之二 多实例配置
2021/07/02 MySQL