目录 一:进程理论知识 1.理论知识 二:什么是进程? 三:僵尸进程与孤儿进程 1.僵尸进程 四:守护进程 1.什么是守护进程? 2.主进程创建守护进程 3.守护进程 五:互斥锁(模拟多人抢票) 1.什么是是锁? 2.什么是互斥锁? 3.为什么要使用互斥锁? 4.常见问题 5.注意 6.Lock模块 7.互斥锁(模拟多人抢票) 8.总结(抢票系统)解析 六:IPC机制(进程间通信)--队列 1.队列概况 2.Queue概念介绍 3.注意 4.(消息队列)代码搭建 七:(IPC消息队列)实现进程通…
'''1,什么是生产者消费者模型 生产者:比喻的是程序中负责产生数据的任务 消费者:比喻的是程序中负责处理数据的任务 生产者->共享的介质(队列)<-消费者 2,为何用 实现了生产者与消费者的解耦合,生产者可以不停地生产,消费者也可以不停地消费 从而平衡了消费者地生产能力与消费能力,提升了程序整体运行地效率 什么时候用? 当我们地程序中存在明显的两类任务,一类负责产生数据,另一类负责处理数据 此时我们就应该考虑使用生产者消费者模型来提升程序地效率 '''from multiprocessing…
守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children 注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止 from multiprocessing import Process import time import random class Piao(Process): def…
一.守护进程 import random import time from multiprocessing import Process def task(): print('name: egon') time.sleep(random.randint(0,3)) print('sex:male') time.sleep(random.randint(0, 3)) print('age:19') if __name__ == '__main__': p=Process(target=task)…
Python进阶----进程之间通信(互斥锁,队列(参数:timeout和block),), ***生产消费者模型 一丶互斥锁 含义: ​ ​ ​ 每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象(串行) 目的:  ​ ​ 来保证共享数据操作的完整性和安全性(文本数据),保证数据的公平性 区别join:  ​ ​ 共同点: 都能实现cpu的进程串行  ​ ​ 不同点: join是人为指定顺序, 不能保证公平性. 互斥锁能够保证公平性…
1.互斥锁: 互斥锁:Lock 原理就是把并发变成串行,一个一个运行,不错乱,但效率低 保证多个进程修改一块数据时,大家是一个一个修改,不错乱 mutex.acquire() mutex.release() from multiprocessing import Process,Lock import time def task(name,mutex): mutex.acquire() print('%s 1'%name) time.sleep(1) print('%s 2'%name) tim…
小知识点:在子进程中不能使用input输入! 一.守护进程 守护进程表示一个进程b 守护另一个进程a 当被守护的进程结束后,那么守护进程b也跟着结束了 应用场景:之所以开子进程,是为了帮助主进程完成某个任务,然而,如果主进程认为自己的事情一旦做完了就没有必要使用子进程了,就可以将子进程设置为守护进程 例如:在运行qq的过程,开启一个进程,用于下载文件,然而文件还没有下载完毕,qq就退出了,下载任务也应该跟随qq的退出而结束. from multiprocessing import Process…
1  守护进程: 主进程 创建 守护进程   辅助主进程的运行 设置进程的 daemon属性 p1.daemon=True 1 守护进程会在主进程代码执行结束后就终止: 2 守护进程内无法再开启子进程,否则抛出异常: AssertionError: daemonic processes are not allowed to have children 注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止 from multiprocessing import Process impo…
1.守护进程 什么是守护进程? 进程是一个正在运行的程序 守护进程也是一个普通进程,意思是一个进程可以守护另一个进程,比如如果b是a的守护进程,a是被守护的进程,如果a进程结束,b进程也会随之结束. 使用场景: 父进程交给了子进程一个任务,子进程在执行过程中并没有执行完毕,但是父进程结束了,那么子进程就没又继续执行的意义了 使用方法:在start 前面加 deamon = Ture 案例: from multiprocessing import Process import time def t…
一:进程间的通信(IPC):先进先出  管道:队列=管道+锁 from multiprocessing import Queue q=Queue(4) q.put(['first',],block=True,timeout=3) q.put({'x':2},block=True,timeout=3) q.put(3,block=True,timeout=3) q.put(4,block=True,timeout=3) print(q.get(block=True,timeout=3)) prin…