四、守护线程
守护线程
守护线程就是随着主线程的开始而开始、结束而结束。
#1.对主进程来说,运行完毕指的是主进程代码运行完毕
#2.对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕
案例
from threading import Thread
def zzw(name):
print('{} is running\n'.format(name))
time.sleep(3)
print('{} is down'.format(name))
if __name__ == '__main__':
p = Thread(target=zzw, args=('zhangsan',))
p.daemon = True
# 或者 p.setDaemon(True)
p.start()
print('主 is down')
'''
输出结果:
zhangsan is running
主 is down
'''
一、daemon属性/setDaemon()
daemon/setDaemon:默认值为False,如果设为True,代表该子线程为后台运行的守护线程,当父线程终止时,该子线程也随之终止,并且设定为True后,该子线程不能创建自己的新线程,必须在该子线程创建之前设置
- 语法:
from threading import Thread
p = Thread(target[,name[,args[,kwargs]]])
p.daemon = True
# 或者 p.setDaemon(True)
# PS:设置守护线程必须在该线程start()代码前,即线程还未创建前设置
p.start()

浙公网安备 33010602011771号