-
手动书写生产者消费者代码
from multiprocessing import Process,Queue,JoinableQueue import time import random def producer(name,food,q): for i in range(5): data = f'{name} 生产了 {food} {i}' time.sleep(random.randint(1, 3)) print(data) q.put(data) def consumer(name,q): while True: food = q.get() time.sleep(random.randint(1, 3)) print(f'{name} 吃了 {food}') q.task_done() if __name__ == '__main__': q = JoinableQueue() p1 = Process(target=producer, args=('egon', '包子', q)) p2 = Process(target=producer, args=('tank', '馒头', q)) c1 = Process(target=consumer, args=('alex', q)) c2 = Process(target=consumer, args=('json', q)) p1.start() p2.start() c1.daemon = True c2.daemon = True c1.start() c2.start() p1.join() p2.join() q.join()