Python中threading模块的join函数
2014-05-08 16:11
465 查看
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中threading模块join函数用法实例分析
- Python中threading模块的join函数
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- Python THREADING模块中的JOIN()方法深入理解
- Python THREADING模块中的JOIN()方法深入理解
- Python的Threading模块的Thread对象的join方法
- 不曾见过的Python函数——join()
- 关于Python的进程线程协程之threading模块(五)Time对象
- Python 3.4.3 使用threading模块进行多线程编码实现
- win 7 下 PIL python Image模块 show函数不能正常显示图片
- Python中的join()函数的用法
- Python:使用threading模块实现多线程(转)
- Python学习笔记总结(二)函数和模块
- python学习笔记之使用threading模块实现多线程(转)
- [python][正则表达式] re模块核心函数和方法
- Python函数模块多个API的实现
- 【Python】Telnet模块常用函数及实例
- python—threading.Lock和RLock【threading模块介绍02】