天天看點

python生産者消費者模型

import time
import queue
import threading

q = queue.Queue()  # 線程安全


def producer(id):
    """生産者"""
    while True:
        time.sleep(2)
        q.put('包子')
        print('廚師%s 生産了一個包子' % id)


for i in range(1, 4):
    t = threading.Thread(target=producer, args=(i,))
    t.start()


def consumer(id):
    """消費者"""
    while True:
        time.sleep(1)
        v1 = q.get()
        print('顧客 %s 吃了一個包子' % id)


for i in range(1, 3):
    t = threading.Thread(target=consumer, args=(i,))
    t.start()