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 ...
随机推荐
- Java内存模式
Java内存模型即Java Memory Model,简称JMM.JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式. JVM是Java Virtual Machine(Java ...
- 安装google 框架
使用 root exporer很方便 su cp /sdcard/google/busybox /data/local/tmp chmod 0755 /data/local/tmp/busybo ...
- LSTM-自然语言建模
说到自然语言,我就会想到朴素贝叶斯,贝叶斯核心就是条件概率,而且大多数自然语言处理的思想也就是条件概率. 所以我用预测一个句子出现的概率为例,阐述一下自然语言处理的思想. 处理思想-概率 句子,就是单 ...
- android-DNS服务找不到
1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填
- Linux:磁盘配额
磁盘配额 一.简略步骤显示 第一步:关闭虚拟机 第二步:编辑虚拟机设置--硬盘--添加 第三步:查看磁盘分区情况 fdisk -l 第四步:选择磁盘分区 fdisk /dev/sda2 第五步:选择磁 ...
- MySq:权限表
权限表 一.介绍 ①MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中,由mysql_install_db脚本初始化.②存储账户权限信息表主要有:user.db.hos ...
- Java学习笔记22(List接口)
List接口继承自Collection接口,自身具有三大特点: 1.有序集合:存入和取出的顺序一致: 2.此接口的用户可以对每个元素插入位置进行精确控制:可以通过索引操作元素 3.可以存储重复元素 L ...
- es6 常用总结
1.变量 let 声明的变量只在它所在的代码块有效,不允许重复声明 const 声明是一个只读的常量.一旦声明,常量的值就不能改变. const与let的作用域相同,只在声明所在的块级作用域内有效. ...
- 【webdriver自动化】整理API框架(主要是关键字,具体例子在本地)
1. 获取网页源码 pageSource = self.driver.page_source print pageSource.encode("gbk","ignore& ...
- SQL注入之Sqli-labs系列第十九关(基于头部的Referer POST报错注入)
开始挑战第十八关(Header Injection- Referer- Error Based- string) 先来说下HTTP Referer: HTTP Referer是header的一部分,当 ...