1. 程式人生 > >進程用manager 和Queue 實現進程消費者生產者

進程用manager 和Queue 實現進程消費者生產者

inf init image 圖片 process 守護進程 技術 imp -s

  註意 :

    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 實現進程消費者生產者