python多进程或多线程中,如果我们想实现当主进程或主线程退出,则所有的子进程或子线程也全部退出时,可以使用daemon参数。daemon参数为True时,表示设定该线程或进程为守护线程或守护进程。守护线程或进程的意义就在于,其生命依赖主进程或主线程,只有当主进程或主线程活动时,其才会活动,一旦主进程或主线程退出了,则其也会自动退出。
这种情况特别会在当我们强制退出一个程序时,即我们手动杀死主进程时,我们往往希望并行的子进程也全部退出,这是,设置子进程为守护进程即可自动实现该功能。
无论是多线程还是多进程,当我们创建一个线程或进程时,其都有参数daemon,默认为None,表示非守护进程或线程,当我们想设定其为守护进程或线程时,只需要在创建时设定daemon为True即可。如下所示。
from multiprocessing import Process
def f():
pass
if __name__=='__main__':
p=Process(target=f,daemon=True)
p.start()
p.join()

本文详细介绍了在Python多进程或多线程中如何利用daemon参数实现守护进程或守护线程,确保主进程或主线程退出时,所有子进程或子线程也能自动退出。守护线程或守护进程依赖于主进程或主线程的存在,一旦主进程或主线程终止,守护进程或守护线程也将随之结束。
9277

被折叠的 条评论
为什么被折叠?



