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 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
使用python 获取进程pid号的方法
Mar 10 Python
python3 shelve模块的详解
Jul 08 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
python基于K-means聚类算法的图像分割
Oct 30 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
Pandas直接读取sql脚本的方法
Jan 21 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网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
用js遍历 table的脚本
2008/07/23 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
window.onload使用指南
2015/09/13 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
在Python的Django框架中加载模版的方法
2015/07/16 Python
一百多行python代码实现抢票助手
2018/09/25 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
浅析python中的del用法
2020/09/02 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
学前教育专业毕业生自荐信
2013/10/03 职场文书
新闻编辑自荐信
2013/11/03 职场文书
工程师岗位职责
2013/11/08 职场文书
自动化毕业生专业自荐书范文
2014/02/04 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
感谢信格式范文
2015/01/22 职场文书
婚姻出轨保证书
2015/05/08 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书