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

 



  

posted @ 2018-11-21 21:09  山…隹  阅读(1776)  评论(0)    收藏  举报