#python3中 from queue import Queue from threading import Thread class Producer(Thread):#生产者 def run(self): global queue count = 0 while True: if queue.qsize() < 15: for i in range(10): count = count +1 msg = '生成产品'+str(count) queue.put(msg)#把数据放入队列 print(msg) time.sleep(0.5) class Consumer(Thread):#消费者 def run(self): global queue while True: if queue.qsize() > 1:#队列不为空,队列大于1 for i in range(3): msg = self.name + '消费了 '+queue.get() #取队列中的数据 print(msg) time.sleep(1) if __name__ == '__main__': queue = Queue() # for i in range(500): # queue.put('初始产品'+str(i)) for i in range(2): p = Producer() p.start() for i in range(5): c = Consumer() c.start()