python线程join

编程入门 行业动态 更新时间:2024-10-25 12:26:53

python<a href=https://www.elefans.com/category/jswz/34/1771240.html style=线程join"/>

python线程join

join()其实就是阻塞线程,控制线程的执行,从而控制住代码的执行顺序。

通常都是,线程join()后,顺序执行join()后面的代码,如下面的例子:

def main():

print('---main begin----')

t1 = threading.Thread(target=T1_job, name='T1')

t2 = threading.Thread(target=T2_job, name='T2')

t1.start()

t2.start()

t2.join()

print("t2 done")

t1.join()

print("t1 done")

print('---main end----')

---------------------

作者:阿常呓语

来源:CSDN

原文:

版权声明:本文为博主原创文章,转载请附上博文链接!

t1和t2的开始顺序由系统决定,谁都可能先开始执行,如代码,t2.join(),print("t2 done")在先,而t1.join() print("t1 done")在后,则按照代码顺序,一定是print("t2 done")先执行,而 print("t1 done")后执行。当然这里在没有设定线程的等待时间timeout时,应该是按照线程运行完毕后在执行下一行代码。即t2运行完了,执行print("t2 done"),接着等t1执行完毕, print("t1 done")执行,最后print('---main end----')执行。可见,join()其实就是阻塞线程,控制代码的执行顺序的。当然,线程在执行时是并发的,只不过是他们的结束是按照join()的顺序来控制的。运行结果如下:

---main begin----

T1 start

begin sleep 0.1s

T2 start

T2 finish

t2 done

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

begin sleep 0.1s

T1 finish

t1 done

---main end----

---------------------

作者:阿常呓语

来源:CSDN

原文:

版权声明:本文为博主原创文章,转载请附上博文链接!

更多推荐

python线程join

本文发布于:2024-02-13 03:48:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1690551.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:线程   python   join

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!