@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府
本篇文章主要介绍了python实现守护进程、守护线程、守护非守护并行,详细的介绍了守护子进程、非守护子进程并存,守护子线程非守护子进程并存的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
守护进程
1、守护子进程
主进程创建守护进程
其一:守护进程会在主进程代码执行结束后就终止
其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to havechildren
注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止
我们来看一个例子
from multiprocessing import Process
import os,time,random
def task():
print('%s is running' %os.getpid())
time.sleep(2)
print('%s is done' %os.getpid())
#守护进程内无法再开启子进程,否则抛出异常
# p = Process(target=time.sleep, args=(3,))
# p.start()
if __name__ == '__main__':
p=Process(target=task)
p.daemon = True #1、必须在p.start()之前
p.start()
print('主')
输出结果如下:
主
原因是:主进程程序启动执行到p子进程,由于子进程需要开辟内存空间,由于需要耗费时间,所以主进程会首先输出“主”,由于主进程执行完毕,那么守护子进程p也就被干掉了,随之主进程