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


Posted in Python onAugust 20, 2019

守护进程

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

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

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

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

其二:守护进程内无法再开启子进程,否则抛出异常: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 相关文章推荐
布同 统计英文单词的个数的python代码
Mar 13 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
Python列表list数组array用法实例解析
Oct 28 Python
django之常用命令详解
Jun 30 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
python实现给微信指定好友定时发送消息
Apr 29 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
基于Python实现粒子滤波效果
Dec 01 Python
python神经网络学习 使用Keras进行简单分类
May 04 Python
python控制台实现tab补全和清屏的例子
Aug 20 #Python
关于python字符串方法分类详解
Aug 20 #Python
python+tkinter实现学生管理系统
Aug 20 #Python
Python对列表的操作知识点详解
Aug 20 #Python
python中的global关键字的使用方法
Aug 20 #Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 #Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 #Python
You might like
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python生成验证码实例
2014/08/21 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
电子商务专业个人的自我评价分享
2013/10/29 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
《四季》教学反思
2014/04/08 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
医学专业大学生求职信
2014/07/12 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
确保工程质量承诺书
2015/04/29 职场文书
小学六一主持词开场白
2015/05/28 职场文书
实习证明模板
2015/06/16 职场文书
经营场所证明范本
2015/06/19 职场文书
员工担保书范本
2015/09/22 职场文书