进程池间的通信:
使用语句:multiprocessing.Manger().Queue()
步骤:
1.创建队列通信
2.创建进程池
3.给进程池添加任务,任务函数的参数为队列通信
4.进程池关闭不再接受其他任务
5.阻塞主线程
import multiprocessing
def main():
#1.创建队列通信
queue = multiprocessing.Manager().Queue()
#2.创建进程池
pool = multiprocessing.Pool(3)
#3.给进程池添加任务,任务函数的参数为队列通信
pool.apply_async(demo1,args=(queue,))
pool.apply_async(demo2, args=(queue,))
pool.close()
pool.join()
def demo1(queue):
queue.put('11')
print('-----1------')
def demo2(queue):
#l = queue.get()
print('-----2------')
print(queue.get())
if __name__ == '__main__':
main()
执行结果:
-----1------
-----2------
11