四、守护线程

守护线程

守护线程就是随着主线程的开始而开始、结束而结束。

#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后,该子线程不能创建自己的新线程,必须在该子线程创建之前设置

  1. 语法:
from threading import Thread

p = Thread(target[,name[,args[,kwargs]]])

p.daemon = True
# 或者 p.setDaemon(True)
# PS:设置守护线程必须在该线程start()代码前,即线程还未创建前设置

p.start()
posted @ 2021-06-03 20:39  zzwYYYYYY  阅读(98)  评论(0)    收藏  举报