进程用manager 和Queue 实现进程消费者生产者

Posted cxhzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程用manager 和Queue 实现进程消费者生产者相关的知识,希望对你有一定的参考价值。

  注意 :

    mgr = multiprocessing.Manager()  生成了一个守护进程,如果主进程完毕,mgr这个实例也没有了,所以在结尾加了mgr.join()才能运行

  代码:   

import multiprocessing
import random
mgr = multiprocessing.Manager() #产生一个守护进程
qq = mgr.Queue(15)

class Pro(multiprocessing.Process):
def __init__(self,myqueue):
super().__init__()
self.q = myqueue
def run(self):
while True:
data = random.randint(0,99)
self.q.put(data)
print("生产了",data)

class cus(multiprocessing.Process):
def __init__(self,myqueue):
super().__init__()
self.q = myqueue
def run(self):
while True:
data = self.q.get()
print("消费了",data)
p1 = Pro(qq)
p1.start()
p2 = cus(qq)
p2.start()
mgr.join()
图例:
   技术分享图片

 



  
































以上是关于进程用manager 和Queue 实现进程消费者生产者的主要内容,如果未能解决你的问题,请参考以下文章

Python多进程,多线程和异步实例

Python多进程,多线程和异步实例

进程间数据传递:Queue,Pipe 进程间数据共享:Manager

关于python多进程使用(Queue、生产者和消费者)

进程间通讯

5 并发编程--队列&生产者消费者模型