进程间通信
import multiprocessing
import os
import time
# 生产者
def producer(x):
for i in range(10):
time.sleep(0.5)
print('生产++++++++++PID:{} {}'.format(os.getpid(), i))
# 添加到队列中
x.put('PID:{} {}'.format(os.getpid(), i))
# 消费者
def consumer(x):
for i in range(10):
time.sleep(0.4)
# 获取队列中数据
print('消费----------{}'.format(x.get()))
if __name__ == '__main__':
# 进程间通信 队列
q = multiprocessing.Queue()
# 启动生产者 args = 传递参数 是一个元组
p1 = multiprocessing.Process(target=producer, args=(q,))
# p2 = multiprocessing.Process(target=producer, args=(q,))
# p3 = multiprocessing.Process(target=producer, args=(q,))
p1.start()
# p2.start()
# p3.start()
# 创建启动 消费者 args = 传递参数 是一个元组
c1 = multiprocessing.Process(target=consumer, args=(q,))
c1.start()