day 31 进程的其他方法 进程锁 进程队列
一。进程的其他方法
1. .name 进程名 (可指定)
2. .pid 进程号
3. os.getpid 在什么位置就是什么的进程号
4. .is_alive() 判断子进程是否还活着
5. .terminate() 给操作系统发出结束进程的信号
二 。进程之间是物理隔离的
三. 守护进程
.daemon = True 设置成为守护进程
必须写在 start 之前
跟着主进程的结束而结束
四。僵尸进程和孤儿进程
1.僵尸进程(有害):一个进程使用fork创建子进程,如果子进程退出,
而父进程并没有调用wait或waitpid获取子进程的状态信息,
那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程
2.孤儿进程(无害):一个父进程退出,而它的一个或多个子进程还在运行,
那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,
并由init进程对它们完成状态收集工作
五.进程锁/互斥锁/同步锁 锁名 = Lock()
1. 锁名.acquire()
锁住部分(串行)
锁名.release()
2. with 锁名
锁住部分
抢票实例:
六.数据共享 Manager
七.进程队列 (先进先出) 队列名 = Queue (队列长度)
1. .put () 放值
2. .get() 取值
3. 防止阻塞 (try ...except)
超出时 .put_nowait()
取空时 .get_nowait()
4. .qsize() 当前队列有多少数据
5. .full() 是否满了 (Ture/False) 不可靠
6. .empty() 是否空了 (Ture/False) 不可靠
生产者消费者模型:
八. Joinablequeue模型 队列有返回
队列名 = Joinablequeue(队列长度)
队列名.task_done() #给队列发送一个取出的这个任务已经处理完毕的信号
队列名.join() #就等着task_done()信号的数量,
和我put进去的数量相同时,才继续执行
生产者消费者模型:
day 31 进程的其他方法 进程锁 进程队列的更多相关文章
- 并发编程6 锁&进程&队列
1.进程的其他方法 2.验证进程空间隔离和守护进程 3.孤儿进程和僵尸进程 4.锁 for循环加join数据共享 5.进程队列的简单应用 6.通过队列实现进程间的通信 7.生产者消费者模型及Queue ...
- day31 进程和其他方法,锁,队列
1.进程的其他方法: 首先引入模块: import os from multiprocessing import Process p = Process(target=f,) 进程的id: p.pi ...
- Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量
Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程: 1.线程是一堆指令,是操作系统调度 ...
- 创建进程,join方法,进程对象相关属性和方法,僵尸进程和孤儿进程,守护进程,互斥锁
创建进程 在python中提供了一个multiprocessing模块可以帮助我们使用多进程解决问题.在multiprocessing 模块中有一个类Process. from multiproces ...
- linux下查看进城(ps)的方法 与 杀死进程(kill)的N种方法
PS查看进程 inux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必 ...
- python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享
Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...
- Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯
本节内容: 异常处理.Socket语法.SocketServer实现多并发.进程和线程.线程锁.GIL.Event.信号量.进程间通讯.生产者消费者模型.队列Queue.multiprocess实例 ...
- sqlserver(查看被锁进程)
-- ###### 查看被锁进程 ###### select 标志, 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid, 数据库名=db_name(dbid), ...
- Python-互斥锁 进程间通讯
3.守护进程(**) 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常: AssertionError: daemonic proces ...
随机推荐
- NAND Flash vs NOR Flash
Avinash Aravindan reference:https://www.embedded.com/design/prototyping-and-development/4460910/2/Fl ...
- CSS学习笔记-03- 过渡模块之前奏篇 a标签的伪类选择器
CSS3 2D转换CSS3 3D转换CSS3 过渡CSS3 动画 CSS3 的四大金刚. 想要实现酷炫的视觉效果,上面4个是必须要掌握的.学习之前,先复习一下 视觉盛宴的前菜 :a标签的伪类选择器 铛 ...
- 实力封装:Unity打包AssetBundle(一)
说明:这是一系列循序渐进的教程,今天先介绍最简单的AssetBundle打包方式. 这是一个由在Unity中需要加载模型而引发出来的一系列坑,为了填坑花了不少时间,如果有需要在Unity中自定义菜单, ...
- synchronized(三)
package com.bjsxt.base.sync003; /** * 对象锁的同步和异步问题 * @author alienware * */public class MyObject { pu ...
- dict的items()方法于iteritems()方法的不同
items方法将所有的字典以列表方式返回,其中项在返回时没有特殊的顺序: iteritems方法有相似的作用,但是返回一个迭代器对象.
- Python 属性
class Person: def __init__(self, name, gender, birth): self.name = name self.gender = gender self.bi ...
- Python 多个装饰器装饰同一个函数
def wrapper1(fn): def inner(*args, **kwargs): print("1111111") ret = fn(*args, **kwargs) p ...
- matlab数组和矩阵
数组创建 要创建每行包含四个元素的数组,请使用逗号 (,) 或空格分隔各元素. a = [1 2 3 4] a = 1×4 1 2 3 4 这种数组为行向量. 要创建包含多行的矩阵,请使用分号分隔各行 ...
- transition的用法以及animation的用法
http://www.cnblogs.com/xiaohuochai/p/5347930.html transiton: 过渡属性 过渡所需要时间 过渡动画函数 过渡延迟时间: 触发过渡 单纯的代码不 ...
- com.sun.org.apache.xerces.internal.impl.dv.util.Base64出现的问题
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; 出现的问题是这个在eclipse中无法使用,解决方法如下: (1)进入ec ...