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内置函数之filter map reduce介绍
Nov 30 Python
python 全局变量的import机制介绍
Sep 07 Python
Python实现按中文排序的方法示例
Apr 25 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
Django应用程序入口WSGIHandler源码解析
Aug 05 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Jupyter Notebook 远程访问配置详解
Jan 11 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 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
WAF的正确bypass
2017/01/05 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
使用python编写监听端
2018/04/12 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
2014年元旦促销活动方案
2014/02/22 职场文书
青年文明号创建承诺
2014/03/31 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
公司会议开幕词
2015/01/29 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
入团介绍人意见范文
2015/06/04 职场文书
学历证明范文
2015/06/16 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers