{}
run-icon
main.py
from multiprocessing import Process, Queue import time, random def cliente(q, id): for i in range(3): pedido = f"Cliente {id} pediu item {i}" q.put(pedido) time.sleep(random.random()) def cozinheiro(q): while True: pedido = q.get() if pedido is None: break print("Preparando:", pedido) time.sleep(1) q = Queue() coz = Process(target=cozinheiro, args=(q,)) coz.start() processos = [] for i in range(3): p = Process(target=cliente, args=(q, i)) p.start() processos.append(p) for p in processos: p.join() q.put(None) # encerra o cozinheiro coz.join()
Output