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中使用HTMLParser解析html实例
Feb 08 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
Python3学习urllib的使用方法示例
Nov 29 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
python matplotlib包图像配色方案分享
Mar 14 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
使用python编写一个语音朗读闹钟功能的示例代码
Jul 14 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
destoon二次开发入门示例
2014/06/20 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python selenium 三种等待方式解读
2016/09/15 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
keras中的backend.clip用法
2020/05/22 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
拖鞋店创业计划书
2014/01/15 职场文书
三八妇女节活动总结
2014/05/04 职场文书
推荐信怎么写
2014/05/09 职场文书
销售团队口号大全
2014/06/06 职场文书
挂职学习心得体会
2014/09/09 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
2015年企业新年寄语
2014/12/08 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
python unittest单元测试的步骤分析
2021/08/02 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server