Python并发编程-守护进程
守护进程
- 子进程转换为守护进程
- 主进程的代码结束,子进程的代码也应该接收, 这个事情有守护进程来做
- 守护进程会随着主进程的代码执行完毕而结束, 而不是随着主进程的接收而结束(子进程不一定结束)
from multiprocessing import Process
import time
def func():
while True:
time.sleep(0.5)
print('still here')
def func2():
print('in func 2 start')
time.sleep(8)
print('in func 2 finished')
if __name__ == '__main__':
p = Process(target=func)
p.daemon = True #必须在start之前设置daemon=True,设置子进程为守护进程
p.start()
Process(target=func2).start()
i = 0
while i<5:
print('我是socket server')
time.sleep(1)
i += 1
is-alive()判断进程是否还存活, terminate结束一个进程
- 结束一个进程不是立刻生效,需要一个操作系统响应的过程
from multiprocessing import Process
import time
def func():
while True:
time.sleep(0.5)
print('still here')
def func2():
print('in func 2 start')
time.sleep(8)
print('in func 2 finished')
if __name__ == '__main__':
p = Process(target=func)
p.daemon = True #必须在start之前设置daemon=True,设置子进程为守护进程
p.start()
p2 = Process(target=func2)
p2.start()
p2.terminate()#结束一个子进程
print(p2.is_alive())#判断当前进程是否活着
print(p2.name) #打印当前进程的名字
time.sleep(2)
print(p2.is_alive())
Python并发编程-守护进程的更多相关文章
- Python并发编程(守护进程,进程锁,进程队列)
进程的其他方法 P = Process(target=f,) P.Pid 查看进程号 查看进程的名字p.name P.is_alive() 返回一个true或者False P.terminate( ...
- python并发编程之进程、线程、协程的调度原理(六)
进程.线程和协程的调度和运行原理总结. 系列文章 python并发编程之threading线程(一) python并发编程之multiprocessing进程(二) python并发编程之asynci ...
- python并发编程之进程1(守护进程,进程锁,进程队列)
进程的其他方法 P = Process(target=f,) P.Pid 查看进程号 查看进程的名字p.name P.is_alive() 返回一个true或者False P.terminate( ...
- Python并发编程之进程
一.理论概念 1.定义 进程(Process 也可以称为重量级进程)是程序的一次执行.在每个进程中都有自己的地址空间.内存.数据栈以及记录运行的辅助数据,它是系统进行资源分配和调度的一个独立单位. 2 ...
- 15.python并发编程(线程--进程--协程)
一.进程:1.定义:进程最小的资源单位,本质就是一个程序在一个数据集上的一次动态执行(运行)的过程2.组成:进程一般由程序,数据集,进程控制三部分组成:(1)程序:用来描述进程要完成哪些功能以及如何完 ...
- 网络编程基础----并发编程 ---守护进程----同步锁 lock-----IPC机制----生产者消费者模型
1 守护进程: 主进程 创建 守护进程 辅助主进程的运行 设置进程的 daemon属性 p1.daemon=True 1 守护进程会在主进程代码执行结束后就终止: 2 守护进程内无法再开启子进程 ...
- Python并发编程之进程池与线程池
一.进程池与线程池 python标准模块concurrent.futures(并发未来) 1.concurrent.futures模块是用来创建并行的任务,提供了更高级别的接口,为了异步执行调用 2. ...
- Python并发编程之进程通信
''' 进程间的通信 ''' """ multiprocessing模块支持进程间通信的两种主要形式:管道和队列 都是基于消息传递实现的, ""&qu ...
- python_并发编程——守护进程
1.守护进程 守护进程会随着主进程的代码执行结束而结束. 语法:进程对象.daemon = True时,表示将进程设置为守护进程,一定在start之前设置. import time from mult ...
随机推荐
- web启动@Autowired不能自动注入
使用struts2,下面为action代码 Java代码 package com.edar.web.platform; import org.apache.struts2.convention.ann ...
- Elasticsearch Java API 配置测试
Elasticsearch1.X,2.X,5.X随着版本的迭代,除了系统升级,Java API也做了相对较大的调整,也就是说,1.X的API在2.X以及5.X乃至未来6.X版本都不是通用的. 本例子使 ...
- sql分页demo
ALTER proc [dbo].[ProcGetUserInfoPageInfoByUserName] ), @PageIndex int, @PageSize int as Begin selec ...
- Linux 目录详解 树状目录结构图
1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/ ...
- 给APP增加RSA签名
RSA签名,Google主要用于APP的来源控制与结算.所谓的结算,也是就是控制了APP只有使用现在机子上登录的Google账户从Google市场曾经下载过该APP的才能够使用,这样也就达到了app销 ...
- 关于Http协议、ASP.NET 核心知识(2)
简介HTTP (对于http协议的描述我前部分有写,但基于保证文档独立完整性的原则,我再写一遍.反正又不花钱.) 这货的学名叫:超文本传输协议 英文名字:(HTTP,HyperText Transfe ...
- 爬虫--selenium
什么是selenium? 基本使用 from selenium import webdriver from selenium.webdriver.common.by import By from se ...
- Tensorflow常用函数说明(一)
首先最开始应该清楚一个知识,最外面的那个[ [ [ ]]]括号代表第一维,对应维度数字0,第二个对应1,多维时最后一个对应数字-1:因为后面有用到 1 矩阵变换 tf.shape(Tensor) 返回 ...
- Java错误提示:Syntax error, insert "}" to complete Block
从网上复制了一段java代码到Eclipse里面,调整了一下格式,把Eclipse提示的明显有问题的地方,主要是空格,删掉了,但还是在最后一个分号那里提示“Syntax error, insert & ...
- netif_receive_skb->__netif_receive_skb_core
在设备驱动收包之后,会通过netif_receive_skb将收取的包,按照注册的协议回调,传递到上层进行处理: /* 将skb传递到上层 */ static int __netif_receive_ ...