11.8

一、守护进程

  简单的说就是a守护b,如果b死了a也一起死了。

守护进程的代码Process(target=task).daemon = True必须在启动程序之前执行。

应用场景:安卓手机里有大量的守护进程。

二、互斥锁

  互斥:两者不能同时存在。

  通过互斥锁让2个进程相互排斥,a进程运行时,b进程不运行。

 为什么使用?

  多个进程并发的访问了同一个资源  将导致资源竞争(同时读取不会产生问题 同时修改才会出问题)

  当多个进程对统一资源进行读写时 引发了数据错乱 解决方案就是变成串行。

 怎么使用?

  在需要加锁的地方 lock.acquire()表示锁定

  在代码执行完之后一定要lock.release()表示释放锁

三、进程间通讯

  IPC 指的是进程间通讯

之所以开启子进程 肯定需要它帮我们完成任务 很多情况下 需要将数据返回给父进程

然而 进程内存是物理隔离的

  

1.文件
2.管道
3.共享内存
Manager 共享列表或字典       放在主进程的数据,子进程可以修改
Queue(x)    是一个队列 带有阻塞效果。x是储存容量,默认的block是Ture,如果超过容量就会阻塞,如果block=False超过就会报错。timeout=x,如果满了 愿意等x秒  如果x秒后还存不进去 就炸

  

原文地址:https://www.cnblogs.com/zhanggq/p/9931793.html