python并发编程多进程之守护进程原理解析

 更新时间:2019年08月20日 14:31:35   作者:minger_lcm  
这篇文章主要介绍了python并发编程多进程之守护进程原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

守护进程

主进程创建子进程目的是:主进程有一个任务需要并发执行,那开启子进程帮我并发执行任务

主进程创建子进程,然后将该进程设置成守护自己的进程

关于守护进程需要强调两点:

其一:守护进程会在主进程代码执行结束后就终止

其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children

如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果子进程的任务在主进程任务结束后,就没有存在的必要了,那么该子进程应该在开启前就被设置成守护进程。主进程代码运行结束,守护进程随即终止

子进程还没来得及开始就挂了

设置了守护进程 就是不给子进程运行

守护进程必须在开启子进程前开启

from multiprocessing import Process
import time
def task(name):
  print("%s is running" % name)
  time.sleep(3)
  print("%s is done" % name)
if __name__ == "__main__":
  t = Process(target=task, args=('子进程1',))
  # 守护进程必须在开启子进程前开启
  t.daemon = True
  t.start()
  print("主")
'''
主
'''

开一个子进程是为了并发任务, 这个子进程的任务,在主进程死了,这个任务就没有意义存在,这个子进程就应该设置守护进程

守护进程练习题

在主进程代码执行完毕,只要出现打印主进程信息,p1就不会执行或者死掉

from multiprocessing import Process
import time
def foo():
  print(123)
  time.sleep(1)
  print("end123")
def bar():
  print(456)
  time.sleep(3)
  print("end456")
if __name__ == '__main__':
  p1=Process(target=foo)
  p2=Process(target=bar)
  p1.daemon=True
  p1.start()
  p2.start()
  print("main-------")  
'''
main-------
end456
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python使用timeit时间模块

    python使用timeit时间模块

    这篇文章主要介绍了python之timeit统计运行时间模块,这个技巧非常的实用,感兴趣的小伙伴可以试试
    2021-04-04
  • python实现余弦相似度文本比较的示例

    python实现余弦相似度文本比较的示例

    这篇文章主要介绍了python实现余弦相似度文本比较的示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Python利用itchat库向好友或者公众号发消息的实例

    Python利用itchat库向好友或者公众号发消息的实例

    今天小编就为大家分享一篇Python利用itchat库向好友或者公众号发消息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python标准库模块之json库的基础用法

    python标准库模块之json库的基础用法

    json库是处理JSON格式的Python标准库,json库主要包括两类函数,操作函数和解析函数,下面这篇文章主要给大家介绍了关于python标准库模块之json库的基础用法,需要的朋友可以参考下
    2022-06-06
  • python BlockingScheduler定时任务及其他方式的实现

    python BlockingScheduler定时任务及其他方式的实现

    这篇文章主要介绍了python BlockingScheduler定时任务及其他方式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 浅谈Python响应式类库RxPy

    浅谈Python响应式类库RxPy

    RxPy是非常流行的响应式框架Reactive X的Python版本,其实这些版本都是一样的,只不过是各个语言的实现不同而已。因此,如果学会了其中一种,那么使用其他的响应式版本也是轻而易举的
    2021-06-06
  • python 将列表里的字典元素合并为一个字典实例

    python 将列表里的字典元素合并为一个字典实例

    这篇文章主要介绍了python 将列表里的字典元素合并为一个字典实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 通过python 执行 nohup 不生效的解决

    通过python 执行 nohup 不生效的解决

    这篇文章主要介绍了通过python 执行 nohup 不生效的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python OpenCV 图像平移的实现示例

    Python OpenCV 图像平移的实现示例

    本篇博客学习OpenCV 中关于图像平移的方法,核心学习到的方法是warpAffine,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • Pytest框架之fixture详解(三)

    Pytest框架之fixture详解(三)

    本文详细讲解了Pytest框架之fixture,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论