import multiprocessing
def demo1(q):
# 进程池里面的进程 如果出现异常不会主动抛出 尽量做异常处理
try:
q.put('a')
except Exception as e:
print(e)
def demo2(q):
try:
data = q.get()
print(data)
except Exception as e:
print(e)
if __name__ == '__main__':
# 进程间通信
# q = Queue() # 不能完成进程之前的通信
# q = multiprocessing.Queue() # 进程间通信
q = multiprocessing.Manager().Queue() # 进程池中的进程通信
po = multiprocessing.Pool(2)
po.apply_async(demo1, args=(q,))
po.apply_async(demo2, args=(q,))
po.close()
po.join()
结果:a