python实现主进(线)程退出时,所有子进(线)程也全部退出

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

       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()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值