注意 :
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()
图例: