sud*_*008 5 python multithreading python-2.7
所以我有一个线程列表,全部启动(使用threading.start()),我必须阻止主线程列表中的所有线程完成.
这可以通过以下方式实现:
[x.join() for x in threads]
Run Code Online (Sandbox Code Playgroud)
但是,对于每个x.join()执行的,所有其他线程也被阻止.我想要的是所有线程彼此并行执行.主程序应该仅在所有线程都被执行时才恢复,并且列表中的任何线程都不应该被阻止.
据我所知,我想要的不是连接方法,或者我错了?
不,x.join()只阻止主线程.其他线程继续并行执行.
for thread in threads:
thread.join()
Run Code Online (Sandbox Code Playgroud)
有些更惯用,因为你实际上并没有建立一个列表.
您还应该知道多线程在Python中不能正常工作,并且除非您正在进行IO限制(即多次访问远程服务),否则您不太可能从中获得任何性能提升.
| 归档时间: |
|
| 查看次数: |
7677 次 |
| 最近记录: |