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与js)两种实现
Feb 21 Python
Python实现发送email的几种常用方法
Aug 18 Python
python中Flask框架简单入门实例
Mar 21 Python
Python配置文件解析模块ConfigParser使用实例
Apr 13 Python
Python自定义主从分布式架构实例分析
Sep 19 Python
Python深入06——python的内存管理详解
Dec 07 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
django 消息框架 message使用详解
Jul 22 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
详解Python中下划线的5种含义
Jul 15 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 日期时间处理函数小结
2009/12/18 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
python操作xml文件示例
2014/04/07 Python
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
windows下python连接oracle数据库
2017/06/07 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
python列表生成器迭代器实例解析
2019/12/19 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
keras:model.compile损失函数的用法
2020/07/01 Python
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
心得体会范文
2014/01/04 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
五五普法心得体会
2014/09/04 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
2014年体育工作总结
2014/11/24 职场文书
销售会议开幕词
2015/01/28 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015年暑假生活总结
2015/07/13 职场文书
详解CSS3浏览器兼容
2022/12/24 HTML / CSS