守护线程概念,实例

'''
一个主线程可以启动几个守护线程,为主线程服务
守护线程为主线程服务,主线程退出,守护线程也自动强制跟着退出,不会执行完。
之前的线程是用join等执行完了主线程才往下走,例如:其他线程对公共变量做累加
如果不加join,主线程直接跑完了,跑完的时候打印公共变量结果,
但此时程序还没结束,公共变量加完之后(其他线程执行完)程序结束。 如果有守护线程,那么程序退出不会等守护线程执行完毕 应用场景:socketserver为每个连接启动新线程,socketserver一停止 全部停止,不会等子线程结束,可以把子线程设为守护线程,方法t.setDemo(True)
''' import threading import time def run(n): time.sleep(3) print("task:",n) start_time = time.time() for i in range(50): t = threading.Thread(target=run, args=("t-{0}".format(i),)) t.setDaemon(True) # 把t变成守护线程 t.start() print("cost:", time.time()-start_time)
原文地址:https://www.cnblogs.com/staff/p/9657359.html