python之守护线程
主线程要等到该进程内所有非守护线程(子线程)都死掉才算死掉,因为主线程的生命周期
代表了该进程的生命周期,该进程一定是要等到所有非守护的线程都干完活才应该死掉
可以简单理解为:
守护线程是要等待该进程内所有非守护的线程都运行完毕才死掉
实例一:
from threading import Thread
import os
import time
def task(x):
print('%s is running' %x)
time.sleep(3)
print('%s is done' % x)
if __name__ == '__main__':
t1=Thread(target=task,args=('守护线程',))
t1.daemon=True # 必须放到p.start()之前
t1.start()
print('主')
执行结果:
'''
守护线程 is running
主
'''
实例二:
from threading import Thread
import time
def foo():
print(123)
time.sleep(10)
print("end123")
def bar():
print(456)
time.sleep(3)
print("end456")
if __name__ == '__main__':
t1=Thread(target=foo)
t2=Thread(target=bar)
t1.daemon=True
t1.start()
t2.start()
print("main-------")
执行结果如下:
'''
123
456
main-------
end456
'''

浙公网安备 33010602011771号