# 初级生产者消费者模型
# import time
# import random
# from multiprocessing import Process, Queue
#
#
# def producer(name, food, q):
# for i in range(10):
# data = '%s 制造了%s' % (name, food)
# # 模拟制造食物延迟
# time.sleep(random.randint(1, 3))
# print(data)
# q.put(food)
#
#
# def consumer(name, q):
# while True:
# food = q.get()
# # 模拟吃食物延迟
# time.sleep(random.randint(1, 3))
# print('%s消费了%s' % (name, food))
#
#
# if __name__ == '__main__':
# q = Queue()
# # 创造一个生产者
# p = Process(target=producer, args=('egon', '包子', q))
# p.start()
#
# # 创造一个消费者
# c = Process(target=consumer, args=('鸡哥', q))
# c.start()
# 如果queue中没有数据了,消费者会一直卡住
# import time
# import random
# from multiprocessing import Process, Queue
#
# def producer(name, food, q):
# for i in range(10):
# data = '%s 制造了%s' % (name, food)
# # 模拟制造食物延迟
# time.sleep(random.randint(1, 3))
# print(data)
# q.put(food)
# q.put(None)
#
#
# def consumer(name, q):
# while True:
# food = q.get()
# if food is None:return # 当队列中取出None,之间结束
# # 模拟吃食物延迟
# time.sleep(random.randint(1, 3))
# print('%s消费了%s' % (name, food))
#
#
# if __name__ == '__main__':
# q = Queue()
# # 创造一个生产者
# p = Process(target=producer, args=('egon', '包子', q))
# p.start()
#
# # 创造一个消费者
# c = Process(target=consumer, args=('鸡哥', q))
# c.start()
# # 制造两个消费者
# import time
# import random
# from multiprocessing import Process, Queue
#
# def producer(name, food, q):
# for i in range(10):
# data = '%s 制造了%s' % (name, food)
# # 模拟制造食物延迟
# time.sleep(random.randint(1, 3))
# print(data)
# q.put(food)
#
#
# def consumer(name, q):
# while True:
# food = q.get()
# if food is None:return # 当队列中取出None,之间结束
# # 模拟吃食物延迟
# time.sleep(random.randint(1, 3))
# print('%s消费了%s' % (name, food))
#
#
# if __name__ == '__main__':
# q = Queue()
# # 创造一个生产者
# p = Process(target=producer, args=('egon', '包子', q))
# p.start()
#
# # 创造一个消费者
# c = Process(target=consumer, args=('鸡哥', q))
# c.start()
# c1 = Process(target=consumer, args=('王铁蛋', q))
# c1.start()
# # 生产者生产完毕,放两个None
# p.join() # 等待p进程执行完成再放
# q.put(None)
# q.put(None)
# 多个生产者和多个消费者
# 制造两个消费者
# import time
# import random
# from multiprocessing import Process, Queue
#
# def producer(name, food, q):
# for i in range(10):
# data = '%s 制造了%s' % (name, food)
# # 模拟制造食物延迟
# time.sleep(random.randint(1, 3))
# print(data)
# q.put(food)
#