Python线程join,多线程join()有什么用
1.一个线程的join()方法意味着程序将在这个线程完成运行后停止运行。让我们看看下面的例子。
fromthreadingimportThread
t=time.time()
for_inrange(5):
th=线程(target=myfun)
th.start()
th.join()print(time.time()-t)
#结果是5.0047078132629395秒2。这里,start()之后紧接着join(),意味着每一个线程都要在下一次循环之前运行到末尾,所以和不使用多线程没什么区别。但是,如果要计算多线程的运行时间,就需要使用这个join()
我们来看看没有加入的情况()
fromthreadingimportThread
t=time.time()
for_inrange(5):
th=线程(target=myfun)
th.start()print(time.time()-t)
#结果是0.000980201721191406秒3。它连1秒钟都没等,结果就输出了。五个2是在这个被打印出来之后才输出的。这是因为print(time.time()-t)是与那五个循环不同的第六个线程,它不会等五个线程结束后才开始运行。所以不可能得到以上五个线程的运行时间。我们需要使用join()来等待所有五个线程完成运行。
代码如下所示
fromthreadingimportThread
t=time.time()ths=[]
for_inrange(5):
th=线程(target=myfun)
th.start()
第:号附件
th.join()print(time.time()-t
#结果是1.0038363933563232join()不仅在这种情况下使用。当一步代码执行依赖于代码执行的完成时,应该添加join()命令。
以上是python多线程中join的应用场景。希望能帮到你。更多Python学习指南:python基础教程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。