python 线程 退出,python退出程序代码
python多线程编程退出的方法是在启动线程之前将属性【daemon】设置为“True”。也就是说,当父进程结束时,所有子进程也随之结束。
首先补充一个知识点
Daemon:一个布尔值,指示该线程是否是守护进程(true) (false)。此参数必须在调用start()之前设置,否则RuntimeError将引发此参数。它的初始值是从创建线程继承的;主线程不是守护线程,所以在主线程中创建的所有线程都默认为daemon=False。当没有活动的非守护线程时,整个Python程序将退出。只要在启动线程之前将该属性设置为True,当父进程结束时,所有子进程也随之结束。
接下来,我们来看看代码部分示例3360。
导入线程,时间,随机
班级:
def__init__(self):
自我。__sea=0
defm(自我,我):
#随机打印
time.sleep(random.random()*2)
打印(一)
ifi==1:
自我。__sea=1
defmain(self):
线程=[]
# 10线程将被启动,当线程id为1!
(10):
t=螺纹。Thread(target=self.m,args=(i,)
t.daemon=1
Threads.append
#启动所有线程
foriinThreads:
i.start()
#当标志位[sea]被置位时,所有多线程结束。
while1:
如果自己。__sea:
破裂
Print(线程已退出!)
海()。主()
#继续后续程序。
(5):
打印(“耶!”)此时,主要功能是父进程,即守护进程,用于多线程。预计将有10个循环的数字印刷,但当标志位的自我。__sea为真,所有剩余的子线程都不会再执行,后续操作直接结束。
结果如下:
推荐课程:python语言设计(宋天教授)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。