38 线程
2021-01-30 23:16
标签:class 执行 pipe pip code 队列 font 接受 异步 回顾: 生产者消费者模型 task_done() 每消费一个数据,就返回一个标识 管道(了解) con1可以收发数据,con2也可以收发数据(全双工) 多进程之间共享内存数据: 进程池 池中的进程是守护进程,主进程的代码执行完毕,守护进程就结束了 在进程池中的回调函数是主进程调用的,和子进程无关。 38 线程 标签:class 执行 pipe pip code 队列 font 接受 异步 原文地址:https://www.cnblogs.com/zhuangdd/p/12819099.html
主要为了解决强耦耦合的问题
队列 from multiprocessing import Queue
先进先出
队列本身是安全的from multiprocessing import JoinableQueue
join() 接收task_done返回的标识,以便可以知道队列中的数据什么时候被消费完了
本身是不安全的 from multiprocessing import Pipe
con1,con2 = Pipe()
队列 = 管道 + 锁from multiprocessing import Manager,Value
from multiprocessing import Pool
p.map(func,iterable)
p.apply(func,args=()) 同步的做任务
池中的进程是普通进程,不会跟随着主进程的结束而结束。
p.apply_async(func,args=(),callback=None) 异步,记得加上close和join
close: 不再接受新的任务,准备关闭
join: 等待进程池中所有进程执行完毕任务。
上一篇:Java基础 06 注释
下一篇:Java中的目录操作