进程用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()
图例:
   


  

原文地址:https://www.cnblogs.com/cxhzy/p/9997860.html