python 进程间通信 队列

进程间通信

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()

猜你喜欢

转载自blog.csdn.net/weixin_45875105/article/details/112243171