Python 进程交互

– Start同步队列from multiprocessing import Process, Queuedef producer(data):for i in range(10):# 发送消息,如果 Queue 满了,则阻塞msg = fmessage {i}data.put(msg)print(fsent {msg})# 发送 None,表...

– Start

同步队列

from multiprocessing import Process, Queue


def producer(data):
    for i in range(10):
        # 发送消息,如果 Queue 满了,则阻塞
        msg = f'message {i}'
        data.put(msg)
        print(f'sent {msg}')

    # 发送 None,表示消息发送完毕
    data.put(None)


def consumer(data):
    while True:
        # 接收消息,如果 Queue 没有消息,则阻塞
        msg = data.get()
        if msg:
            print(f'received {msg}')
        else:
            break


if __name__ == '__main__':
    # Queue 大小为 1
    data = Queue(1)

    produce_thread = Process(target=producer, args=(data, ))
    consume_thread = Process(target=consumer, args=(data, ))

    produce_thread.start()
    consume_thread.start()

管道

– 更多参见:Python 精萃
– 声 明:转载请注明出处
– Last Updated on 2018-10-14
– Written by ShangBo on 2018-10-14
– End

本文标题为:Python 进程交互

基础教程推荐