并发 --- 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也就结束了.(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程 ...
随机推荐
- vue中使用kindeditor富文本编辑器
1.去官网下载kindeditor 2.将其放在一个名为kindeditor的文件夹里,并且将它放在vue里的static文件夹下 3.创建kindeditor.vue <template> ...
- javascript 面向对象之路.1 - 小蜜蜂
写这个系列文章是想通过几个案例来学习javascript html5 css3,其实这个小游戏谁都能做出来,但对于一个作为后端.net程序员的我来说还是有学习的必要,毕竟javascript的面向对象 ...
- [3]windows内核情景分析--内存管理
32位系统中有4GB的虚拟地址空间 每个进程有一个地址空间,共4GB,(具体分为低2GB的用户地址空间+高2GB的内核地址空间) 各个进程的用户地址空间不同,属于各进程专有,内核地址空间部分则几乎完全 ...
- websocket发送接收协议
一.websocket接收数据 1)固定字节(1000 0001或1000 0010); ---区分是否是数据包的一个固定字节(占1个字节) 个字节是数据的长度; 3)mark 掩码为包长之后的 ...
- ASP.NET JSON(转http://www.360doc.com/content/14/0615/21/18155648_386887590.shtml)
概念介绍还是先简单说说Json的一些例子吧.注意,以下概念是我自己定义的,可以参考.net里面的TYPE的模型设计如果有争议,欢迎提出来探讨!1.最简单:{"total":0} t ...
- 压缩和解压缩(I)
ZipArchive 压缩方法 -(void)zipArchiveWithFiles { //创建解压缩对象 ZipArchive *zip = [[ZipArchive alloc]init]; / ...
- 【Redis学习之八】Redis集群:主从复制
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 Redis集群分类: 主从复制 R ...
- hive 实现一个字段多行转一行 和 一行转多行
1.多行转一行 多行转一行可以通过concat_ws(',',collect_set(col_name)) as col_new的方式实现,可以参考:https://www.cnblogs.com/s ...
- js异步计时器
js中同步和异步的区别: 1.同步会阻塞代码执行,而异步不会 2.alert 是同步,setTimeout 是异步 何时需要异步 1.在可能发生等待的情况 2.等待过程中不能像 alert 一样阻塞程 ...
- <转>jmeter(三)SOAP/XML-RPC Request
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...