生产者消费者模型
  三部件:
    生产者
    队列,先进先出
      扩展: 栈,后进先出
    消费者

问:生产者消费者模型解决了什么问题?不用一直等待的问题。


示例:

import time
import queue
import threading
q = queue.Queue() # 线程安全

def producer(id):
"""
生产者
:return:
"""
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):
"""
消费者
:return:
"""
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()

 

posted on 2018-09-11 15:33  PiuPiudada  阅读(141)  评论(0编辑  收藏  举报