码迷,mamicode.com
首页 > 系统相关 > 详细

进程间的通信

时间:2020-05-19 20:28:40      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:com   color   返回   out   默认值   读数   alt   出队   队列   

1.multiprocessing.Queue()

技术图片

以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据:

multiprcessing.Queue.put() 为 入队操作

multiprcessing.Queue.get() 为 出队操作

队列 线程 和 进程 安全

put(obj[, block[, timeout]])

将obj放入队列。 如果可选参数 block为True(默认值),timeout为None(默认值),则必要时阻止,直到空闲插槽可用。 如果超时是正数,它将阻止最多超时秒数,如果在该时间内没有空闲插槽可用,则会引发Queue.Full异常。 否则(块为False),如果空闲插槽立即可用,则将一个项目放在队列中,否则会引发Queue.Full异常(在这种情况下,忽略超时)。

get([block[, timeout]])

从队列中删除并返回一个项目。 如果可选的args块为True(默认值),超时为None(默认值),则在必要时阻止,直到项目可用。 如果超时为正数,则它将阻塞至多超时秒数,并在该时间内没有可用项目时引发Queue.Empty异常。 否则(block为False),如果一个项目立即可用,返回一个项目,否则会引发Queue.Empty异常(在这种情况下,忽略超时)。

from multiprocessing import Queue

q = Queue(5)

q.put(‘A‘)
q.put(‘F‘)
q.put(‘B‘)
q.put(‘C‘)
q.put(‘D‘)

print(q.qsize())
q.put(‘E‘, timeout=2)

 技术图片

q.full()用来判断队列是否已满

q.empty()判断队列是否是空的

 技术图片

 技术图片

 技术图片

 

 

 


参考文档:https://blog.csdn.net/HeatDeath/java/article/details/72844120

进程间的通信

标签:com   color   返回   out   默认值   读数   alt   出队   队列   

原文地址:https://www.cnblogs.com/GumpYan/p/12918960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!