主线程会等待子线程执行结束再结束
时间:2021-01-20 23:17:42
收藏:0
阅读:66
一、线程的特点
主进程会等待所有子进程执行结束后再结束。
1、将子线程设置守护主线程:
子线程对象 = threading.Thread(target=任务, daemon = True)
子线程对象.setDaemon(True)
二、示例
要求:主线程睡一秒后退出程序
代码1:不设置守护主线程则报错,因为任务是死循环。

from threading import * from time import * def task(): while True: print("任务执行中......") if __name__ == "__main__": t = Thread(target=task) t.start() # 主线程 sleep(1) print("over")
执行结果:报错
代码2:将子线程设置为守护主线程

from threading import * from time import * def task(): while True: print("任务执行中......") if __name__ == "__main__": t = Thread(target=task, daemon=True) t.start() # 主线程 sleep(1) print("over")
执行结果:
原文:https://www.cnblogs.com/yujiemeigui/p/14304877.html
评论(0)