学习笔记(18):Python网络编程并发编程-守护进程

立即学习:https://edu.csdn.net/course/play/24458/296429?utm_source=blogtoedu

守护进程(了解)

 

1.概念:守护进程是主进程在创建子进程的时候,将子进程设置成守护自己的进程,等主进程结束后,不管子进程的状态是怎样的,都会立马在主进程结束后结束

 

2.应用(个人理解):假设主进程是打开了一个浏览器,子进程是所有的浏览器上打开的标签页,只要浏览器关闭了,标签页也会跟着全部关闭!这理解是否正确?在标签页中似乎还可以运行子进程,这与下面3(1)不符

 

3.强调:

1)守护进程必须在子进程开启前设置,否则会报错

p.daemon()

......def task(name):print('子进程结束')......if __name__ == '__main__':p = process(target = task , args = ('子进程1',))p.daemon = Truep.start()print("主进程结束")#运行结果:主进程结束#运行完主进程后,即运行完代码后,子进程来不及运行就已经随着主进程的结束而结束了,因此没有打印出“子进程结束”的信息

 

2)作为守护进程的子进程中不能再次启用运行其他的子进程,否则会报错

 

4.练习题

import time
from multiprocessing import Processdef task1(name):print('%s is running'%name)time.sleep(2)print('%s is done'%name)def task2(name):print('%s is running'%name)time.sleep(2)print('%s is done'%name)if __name__ == '__main__':p1 = Process(target = task1,args = ('守护子进程task1',))p2 = Process(target=task2,args = ('子进程task2',))p1.daemon = Truep1.start()p2.start()print('主进程结束运行')'''E:\python3\venv2\venv\Scripts\python.exe C:/Users/jinlin/Desktop/python_further_study/并发编程/守护进程.py
主进程结束运行
子进程task2 is running
子进程task2 is doneProcess finished with exit code 0'''

       总结:由上述的结果可以看出,两个子进程,子进程task1是作为主进程的守护进程,当代码执行完毕即主进程执行完成后子进程守护进程task1还没有来得及运行就随着主进程的结束而结束了,注意,上面的Process是大写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态页面之间的转发与json与ajax做到动态数据

我们见过很多使用jsp ,php,asp的动态网页技术的网站了,我们知道如果一个网站内容更新频率极低,而内容量不是十分庞大时,这样的网站(一次开发完成后不会需要较多的维护成本)的完全可以使用全部使用静态页面来做,此时其实反而可以得到更好的效果(更快的响应时间(省掉了服务器各种…

数组的最后一位的下一位为什么是0?

以下是我做的两个实验&#xff0c;加证实了数组的最后一位的后一位是0&#xff0c;只应该是系统自动添加的标志位 1、比如 int a[5] 则a[5]0,这个是什么原因我还没有搞懂 #include<iostream> using namespace std;int main() {int a[5];int *pa;for(int i0;i<5;i){a[i…

iOS开发网络篇—NSURLConnection基本使用

iOS开发网络篇—NSURLConnection基本使用 一、NSURLConnection的常用类 &#xff08;1&#xff09;NSURL&#xff1a;请求地址 &#xff08;2&#xff09;NSURLRequest&#xff1a;封装一个请求&#xff0c;保存发给服务器的全部数据&#xff0c;包括一个NSURL对象&#xff0c;…

如何查看mysql连接相关参数

1.查看当前所有连接的详细资料: mysqladmin -u root -ppassword processlist 这里password为数据库用户root的密码 2.只查看当前连接数(Threads就是连接数.): mysqladmin -u root -ppassword status 这里password为数据库用户root的密码 3.如何知道当前MySQL设置的并发连接数是…

学习笔记(19):Python网络编程并发编程-互斥锁

立即学习:https://edu.csdn.net/course/play/24458/296430?utm_sourceblogtoedu 1.互斥锁&#xff1a; 多进程间的内存是相互隔离的&#xff0c;因此其数据也是相互隔离的&#xff0c;但是所有的进程都共享一个文件操作系统或者说共享文件处理器和打印端。而共享带来的是竞争…

使用HTML5+CSS3制作圆角内发光按钮----示例

<!doctype html> <html> <head> <meta charset"utf-8" /> <title>制作漂亮的圆角按钮<title> <style type"text/css"> .loginBtnDiv { float:right; padding-right:50px; padding-top:10px; } .loginBtn, .Resg…

C++中的sort()函数的原形

1、sor(a,an,compare) {//前两个是参数是待排序的数组首地址和尾地址 //最后一个参数是compare表示的比较类型 //可调用functional函数的less&#xff08;&#xff09;和greater&#xff08;&#xff09;函数比较大小}

鼠标放上超链接显示背景效果

鼠标放上超链接显示背景效果&#xff1a; <html> <head> <style type"text/css"> a.one:link {color: #ff0000} a.one:visited {color: #0000ff} a.one:hover {color: #ffcc00}a.two:link {color: #ff0000} a.two:visited {color: #0000ff} a.two:…

学习笔记(20):Python网络编程并发编程-互斥锁与join的区别

立即学习:https://edu.csdn.net/course/play/24458/296432?utm_sourceblogtoedu 互斥锁与join的异同&#xff1a; 1.同&#xff1a;都是将多进程并发模式变成多进程串行&#xff0c;保证了数据的有序性 2.异&#xff1a; 互斥锁只是对于进程的局部代码实施串行执行变化&#x…

Kali渗透(二)之被动信息收集

被动信息收集 公开渠道可获得的信息 与目标系统不产生直接交互 尽量避免留下一切痕迹 下面是两个关于开源情报&#xff08;OSINT&#xff09;的书籍 美国军方 北大西洋公约组织 信息收集内容 一.IP地址段与域名信息 二.邮件地址 三.文档图片数据 四.公司地址 五.公司组织…

ccBPM典型的树形表单和多表头表单的流程示例

ccBPM典型的树形表单和多表头表单的流程 关键字&#xff1a;树形表单。ccBPM支持树形表单&#xff0c;也可以称之为树结构的多表单或者多表头表单。 应用场景&#xff1a;比如项目招标类流程&#xff0c;在填写项目申请的环节&#xff0c;需要填写公司简介、公司业绩、项目实施…

由strcat函数引发的对char *a和char a[]以及sizeof和strlen

/* http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.html参考这篇文章* char *a "Hello";Hello存放在常量区&#xff0c;是无法修改的。 * 通过指针只可以访问字符串常量&#xff0c;而不可以去改变它 * * * char a[] "Hello";…

for(;;)函数中判断条件执行顺序

for(i100;i>0&#xff1b;--i) { cout<<"i"<<i<<endl; } 它的执行过程如下&#xff1a; 1) 先求解表达式1。 2) 求解表达式2&#xff0c;若其值为真&#xff08;非0&#xff09;&#xff0c;则执行for语句中指定的内嵌语句&…

学习笔记(21):Python网络编程并发编程-队列的使用

立即学习:https://edu.csdn.net/course/play/24458/296433?utm_sourceblogtoedu 队列和管道 1.存在的意义&#xff1a; 1&#xff09;在前面的笔记中&#xff0c;使用join和互斥锁来保证了硬盘数据共享的数据安全性&#xff0c;但是降低了代码的运行效率&#xff1b; 2&#x…

dbms_xplan之display_cursor函数的使用

文章来源&#xff1a;http://blog.csdn.net/leshami/article/details/6866925 DBMS_XPLAN包中display_cursor函数不同于display函数&#xff0c;display_cursor用于显示SQL语句的真实的执行计划&#xff0c;在大多数情况下&#xff0c;显示真实 的执行计划有助于更好的分析SQL语…

H5+JS实现《Just Do 8》游戏源码分享

【界面效果图】 【代码结构】 【代码结构解释】 1、使用html语言实现数据 2、使用css3语言实现样式 3、使用JS语言实现路基控制 【注意是想】 1、如需查看效果&#xff0c;请使用手机浏览器&#xff0c;或者使用appcan打包查看 2、如果使用浏览器&#xff0c;请选择google的Chr…

windows下的结束标志

空格 ctrlz ctrlz 回车 int main() { stack<string> ss; //std::vector<int> ss; string str; cout<<"请输入字符串"<<endl; while(cin>>str) { ss.push(str); //if(str[0]1) …

前端架构知识体系

0. 前端自动化(Workflow) 前端构建工具 Yeoman – a set of tools for automating development workflowgulp – The streaming build systemgrunt – the JavaScript Task RunnerF.I.S – 前端集成解决方案webpackNPM前端模块管理器 Bower – A package manager for the webBr…

python数据结构_大O符号_学习笔记(1)

1.概念 &#xff1a;大O符号是用来表达一个算法的复杂程度的&#xff0c;是一个数量级 2.代码 a 1 b 2 c 3 for i in range(n):for j in range(n):x i*iy j*jz i*jfor k in range(n):m a*k 5v k*kd 100*c e c*d3.分析 在上述代码中&#xff0c;分配操作数分为四…

.NET简谈组件程序设计之(上下文与同步域)

我们继续学习.NET多线程技术&#xff0c;这篇文章的内容可能有点复杂。在打破常理之后&#xff0c;换一种新的思考模型最为头疼。这篇文章里面会涉及到一些不太常见的概念&#xff0c;比如&#xff1a;上下文、同步域等等。我也是最近才接触这些关于组件编程方面的高深技术&…