进程
-
特点
-
多个进程间,数据不可以共用。数据有保障。
-
多个进程间,数据无法共用。
-
如果希望两个进程数据有交流,需要用到一些工具。
-
-
工具
-
数据交流工具
-
Queue
-
JoinbaleQueue
-
Pipe
-
Manage
-
-
控制工具
-
Lock
-
Semaphore
-
Event
-
-
可等待的队列
joinablequeue
事件
-
创建事件对象
事件对象 = multiprocessing.Event()
理解为,制定了一个行动计划
-
等待行动指令
事件对象.wait()
-
开始行动
事件对象.set()
-
取消行动,继续回归到等待状态(潜伏状态)
事件对象.clear()
-
判断当前的事件状态
事件对象.is_set()
进程模块中对象的共性
一端发生变化,另一端可以感知到
JoinableQueue
-
可等待的连接
-
特点
-
比普通的进程队列功能增强,多了task_done与join方法
-
-
用法
-
创建
jq = multiprocessing.JoinableQueue(容量)
-
取数据时
jq.get() jq.task_done()
取出数据后一定要调一下task_done(),否则计数不减的话,join()无法感知
-
等待连接
jq.join()
当队列中有数据时会阻塞,当队列中的数据计数为零时,会解阻塞
-