Python threading 中join()的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python threading 中join()的作用相关的知识,希望对你有一定的参考价值。

参考技术A

Python中join()的作用:(菜鸟网络) join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生
看着定义大致明白,但是自己确不好理解。主要的功能就是多线程的线程独占,让此时只有一个线程运行。

1.子线程为什么需要join?
join阻塞主线程,可以让主线程获得子线程的处理结果。
如果没有join,由于子线程sleep,尚未append到tmp_list,例子中print tmp_list为空列表,join后即能在append执行后print出来。
如果不需要子线程的处理结果,那么可以不join,当然join了也没啥影响。
2.为什么要写成for循环join的形式?
这个在上文方式二中即提出了,可以即让子线程异步执行,又让主线程等待结果。

以上是关于Python threading 中join()的作用的主要内容,如果未能解决你的问题,请参考以下文章

Python多线程中阻塞(join)与锁(Lock)的使用误区

Python多线程的理解和使用Threading中join()函数的理解

python threading queue模块中join setDaemon及task_done的使用方法及示例

Python 3.7 和 3.8 之间 Python thread.join() 的区别

python多线程编程 join

使用 threading.Thread.join()