python系列——多线程中setdeamon和join的共同作用
发布日期:2021-09-30 09:33:35 浏览次数:8 分类:技术文章

本文共 481 字,大约阅读时间需要 1 分钟。

参考博客:

简述:

分5种情况:

1、当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束。

2、当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被终止执行,可能出现的情况就是,子线程的任务还没有完全执行结束,就被迫停止。

3、没有设置守护线程且没有设置join函数的timeout参数时,主线程将会一直等待,直到子线程全部结束,主线程才结束,程序退出。

4、当没有设置守护线程且join函数的参数timeout=2时,主线程将会等待多个子线程timeout的累加和这样的一段时间,时间一到,主线程结束,但是并没有杀死子线程,子线程依然可以继续执行,直到子线程全部结束,程序退出。

5、当设置守护线程join函数的参数timeout=2时,主线程将会等待多个子线程timeout的累加和这样的一段时间,时间一到,主线程结束,杀死未执行完的子线程,程序退出。

转载地址:https://blog.csdn.net/h_jlwg6688/article/details/108330598 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python系列——多线程中start和run方法的区别
下一篇:python系列——多线程中setdeamon的作用

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月22日 16时24分05秒