多进程之间的通信(进程池)

 1 from multiprocessing import*
 2 from time import sleep
 3 #定义写入的方法
 4 def write(q):
 5     a = ['a','b','c','d']
 6     for i in a:
 7         print('开始写入的值:%s'%i)
 8         q.put(i)
 9         sleep(1)
10 
11 def reader(q):
12     for i in range(q.qsize()):
13         print('读取到的值:%s'%q.get())
14         sleep(1)
15 
16 if __name__ == '__main__':
17     #创建队列
18     q = Manager().Queue()
19     #创建进程
20     pool = Pool(3)
21     pool.apply(write,(q,))
22     pool.apply(reader,(q,))
23     pool.close()
24     pool.join()
1 开始写入的值:a
2 开始写入的值:b
3 开始写入的值:c
4 开始写入的值:d
5 读取到的值:a
6 读取到的值:b
7 读取到的值:c
8 读取到的值:d
正是江南好风景
原文地址:https://www.cnblogs.com/monsterhy123/p/12676715.html