并发 --- 2 进程的方法,进程锁 守护进程 数据共享 进程队列, joinablequeue模型
一.进程的其他方法
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进去的数量相同时,才继续执行
生产者消费者模型:

并发 --- 2 进程的方法,进程锁 守护进程 数据共享 进程队列, joinablequeue模型的更多相关文章
- (并发编程)线程 (理论-创建-lock-属性-守护,与进程的对比)
一.线程理论1.什么是线程 线程指的是一条流水线的工作过程(执行代码) 进程不是执行单位,是资源单位 一个进程内自带一个线程,线程是执行单位 2.进程VS线程 1.同一进程内的线程们 ...
- python 进程锁 生产者消费者模型 队列 (进程其他方法,守护进程,数据共享,进程隔离验证)
#######################总结######### 主要理解 锁 生产者消费者模型 解耦用的 队列 共享资源的时候 是不安全的 所以用到后面的锁 守护进程:p.daem ...
- 并发编程8 线程的创建&验证线程之间数据共享&守护线程&线程进程效率对比&锁(死锁/递归锁)
1.线程理论以及线程的两种创建方法 2.线程之间是数据共享的与join方法 3.多线程和多进程的效率对比 4.数据共享的补充线程开启太快 5.线程锁 互斥锁 同步锁 6.死锁现象和递归锁 7.守护线程 ...
- Python之路(第三十七篇)并发编程:进程、multiprocess模块、创建进程方式、join()、守护进程
一.在python程序中的进程操作 之前已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序 ...
- python并发编程之多进程1-----------互斥锁与进程间的通信
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- 多进程(了解):守护进程,互斥锁,信号量,进程Queue与线程queue(生产者与消费者模型)
一.守护进程 主进程创建守护进程,守护进程的主要的特征为:①守护进程会在主进程代码执行结束时立即终止:②守护进程内无法继续再开子进程,否则会抛出异常. 实例: from multiprocessing ...
- python并发编程之多进程1--(互斥锁与进程间的通信)
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- python并发编程之多进程1互斥锁与进程间的通信
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- 20181229(守护进程,互斥锁,IPC,生产者和消费者模型)
一.守护进程 守护进程:一个进程B守护另一个进程A,当被守护的进程A结束,进程B也就结束了.(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程 ...
随机推荐
- input 滑块功能range javascript方法使用
<script> var rangelist=document.querySelectorAll('[type="range"]'); for(var i=0; i&l ...
- HTML5表单及其验证
随笔- 15 文章- 1 评论- 115 HTML5表单及其验证 HTML表单一直都是Web的核心技术之一,有了它我们才能在Web上进行各种各样的应用.HTML5 Forms新增了许多新控件及其A ...
- mysqldump导出数据
如果导出的数据是乱码,需要制定--default-character-set= mysqldump -h wn-fala-v2-cluster.cluster-cczg3tb617nn.eu-cent ...
- Android -- ViewGroup源码分析+自定义
1,我们前三篇博客了解了一下自定义View的基本方法和流程 从源码的角度一步步打造自己的TextView 深入了解自定义属性 onMeasure()源码分析 之前,我们只是学习过自定义View,其实自 ...
- Unity shader学习之折射
shader如下: Shader "Custom/Refraction" { Properties { _Cubemap("Cubemap", Cube) = ...
- Toolkit tool 获取屏幕、显示在屏幕中心
2018-11-11 15:30:05开始写 Toolkit tool = Toolkit.getDefaultToolkit(); Dimension d = tool.getScreenSize ...
- jQuery属性--html([val|fn])、text([val|fn])和val([val|fn|arr])
html([val|fn]) 概述 取得第一个匹配元素的html内容,这个函数不能用于XML文档.但可以用于XHTML文档. 在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一 ...
- Struts2输入校验(XML方式)
本章主要介绍struts2的XML配置方式输入校验.以下将结合一个实例程序进行说明. 代码结构: 关键代码: RegistAction.javapackage com.alfred.regist.ac ...
- JustOj 1994: P1001
题目描述 给定一个长度为N(0< n< =10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数字减去 ...
- Oracle执行计划 explain plan
Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的. 对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值.不过你可以像使用其它列那样 ...