守护线程概念,实例

'''
一个主线程可以启动几个守护线程,为主线程服务
守护线程为主线程服务,主线程退出,守护线程也自动强制跟着退出
之前的线程是用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)

猜你喜欢

转载自www.cnblogs.com/staff/p/9657359.html