python从入门到放弃之守护进程
# ### 守护进程
默认情况下,主进程要等待所有子进程执行完毕之后,才会关闭程序,释放资源
守护进程进行在主进程代码执行结束之后,就直接关闭;
守护进程守护的是主进程
语法:
进程.daemon = True 设置当前这个进程是守护进程
守护主进程,如果主进程执行代码结束了,守护进程立刻终止
必须要写在start()调用之前,进行设置
from multiprocessing import Process
def func():
print("当前子进程start")
print("当前子进程end") if __name__ == "__main__":
p = Process(target=func)
p.daemon = True
p.start()
print("主进程执行结束")
多进程下的守护进程是怎么执行的?
如果同时创建了多个进程那么他是怎么执行的呢?
如果在多进程中创建了一个守护进程的话那么有很大的概率守护进程会不执行或者执行一半就终止,造成这种原因是为什么呢?
我上面也说过子进程是跟随主进程同时执行的,当主程序下没有任何代码执行时会强制中断守护进程那么多进程下包含的守护进程是怎么样的效果呢
def func1():
count = 1
while True:
print("*" * count)
time.sleep(0.5)
count += 1 def func2():
print("func2 start ...")
time.sleep(2)
print("func2 end ... ") if __name__ == "__main__":
p1 = Process(target=func1)
p2 = Process(target=func2) # 将p1设置成守护进程
p1.daemon = True
p1.start()
p2.start() # 延迟1秒,让守护进程执行2次
time.sleep(1) print("主进程代码执行结束... ")
如上我们可以看出守护进程是处于死循环的状态,但我主进程一旦结束会强制终止掉守护进程,不管守护进程有没有结束都强制终止
python从入门到放弃之守护进程的更多相关文章
- [Python 从入门到放弃] 6. 文件与异常(二)
本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...
- [Python 从入门到放弃] 1. 列表的基本操作
''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...
- Python 3 并发编程多进程之守护进程
Python 3 并发编程多进程之守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemo ...
- python从入门到放弃之进程锁lock
# ### lock (互斥锁)"""# 应用在多进程当中# 互斥锁lock : 互斥锁是进程间的get_ticket互相排斥进程之间,谁先抢占到资源,谁就先上锁,等到解 ...
- Python从入门到放弃系列(Django/Flask/爬虫)
第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫
- python从入门到放弃之进程
在理解进程之前我们先了解一下什么是进程的概念吧 以下就是我总结的一些基本的进程概念 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位(通俗易懂点也就是电脑给程序分配的一定内存操作空间).资源 ...
- python从入门到放弃之进程进阶篇
什么我们得了解清楚什么是进程,进程就是系统分配的一个资源单位,真正在程序中干活得是线程,默认是每个进程中都拥有一个线程 然后我们在了解下什么是进程池这个概念 进程池是的数量是取决于我当前电脑的逻辑处理 ...
- python从入门到放弃之线程篇
一,什么是多线程? 1.多线程的概念? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分 ...
- Python从入门到放弃
计算机基础 01 计算机基础之编程 02 计算机组成原理 03 计算机操作系统 04 编程语言分类 Python解释器 05 Python和Python解释器 06 执行Python程序的两种方式 0 ...
随机推荐
- 编译安装 proxychains-ng proxychains4
下载 [root@localhost html]# git clone https://github.com/rofl0r/proxychains-ng.git 编译安装 [root@localhos ...
- vue--实现跑马灯效果
<div id="app"> <input type="button" value="开始" @click="l ...
- 扎西平措 201571030332 《面向对象程序设计(java)课程学习进度条》
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/ ...
- [C1W4] Neural Networks and Deep Learning - Deep Neural Networks
第四周:深层神经网络(Deep Neural Networks) 深层神经网络(Deep L-layer neural network) 目前为止我们学习了只有一个单独隐藏层的神经网络的正向传播和反向 ...
- leetcode 分类
https://www.douban.com/note/330562764/ https://blog.csdn.net/Irving_zhang/article/details/78835035 h ...
- 《为什么说 Prometheus 是足以取代 Zabbix 的监控神器?》
为什么说 Prometheus 是足以取代 Zabbix 的监控神器? Kuberneteschina 致力于提供最权威的 Kubernetes 技术.案例与Meetup! 关注他 12 人赞同 ...
- 剑指Offer-14.链表中倒数第k个结点(C++/Java)
题目: 输入一个链表,输出该链表中倒数第k个结点. 分析: 第一个解法,我们可以先遍历一遍链表,计算下节点的总数n,然后再从头结点查n-k个节点,即是倒数第k个节点. 第二个解法,便是使用双指针,两个 ...
- 第九章 基于HTTP的功能追加协议
第九章 基于HTTP的功能追加协议 通过在HTTP的基础上添加新的功能来提高性能和功能. 一.消除HTTP瓶颈的SPDY SPDY(SPeeDY)目的是提高HTTP性能,缩短Web页面的加载时间(50 ...
- [PHP] 再续 Laravel 5.5 接口 跨域问题 【终极暴力解决办法】
上文中提到 Laravel5.5 使用 laravel-cors 实现 Laravel 的跨域配置 用插件来跨域 此方法能解决一部分api 请求问题 但我碰到的是 接口 请求size 超过10k,导致 ...
- 【正则】day01
正则表达式一.概述 验证 网络爬虫. 概念: 具有语法格式的字符串. 函数 PCRE 1.perl语言正则语法兼容.(java c) 2.速度快,效率高. P ...