#使用Pool管理进程必须用mulitiprocessing.Manager().Queue() 进行通信,这里踩了坑
from multiprocessing import Manager,Pool
from time import sleep
def put1(a,q):
for i in a:
print("正在传输",i)
sleep(0.5)
q.put(i)
def get1(q):
i=""
for i in range(10):
s=q.get()
sleep(0.5)
print("已获取到:",s)
if s=="end":
break
if __name__=="__main__":
a=["黑客帝国","虎胆龙威","天天快乐","天下无贼","坦克大战","end"]
q=Manager().Queue(10)
p=Pool(3)
p.apply_async(put1,(a,q,))
p.apply_async(get1,(q,))
p.apply_async
p.close()
p.join()
print("end")
# put1(a,q)
# get1(q)