"""
1.进程:生产者消费者模型
编程思想:模型,设计模式,理论等等
都是交给你一种编程的方法,以后遇到类似的情况,套用即可
生产者消费者模型三要素
生产者:产生数据的
消费者:接收数据做进一步处理的
容器:队列
队列容器起到的作用:
缓冲作用,平衡了生产力和消费力,解耦
"""
from multiprocessing import Process
from multiprocessing import Queue
import time
import random
def producer(q,name):
"""
生产者:生产包子
:param q:
:param name:
:return:
"""
for i in range(5):
time.sleep(random.randint(1,2))
res = f"{i}号"
q.put(res)
print(f'生产者{name}生产了{res}')
def consumer(q,name):
"""
消费者:吃包子
:param q:
:param name:
:return:
"""
while 1:
try:
food = q.get()
time.sleep(random.randint(1,3))
print(f'\033[31;0m消费者{name}吃了{food}\033[0m')
except Exception:
return
if __name__ == '__main__':
q = Queue()
p1 = Process(target=producer,args=(q,'zs'))
p2 = Process(target=consumer,args=(q,'ls'))
p1.start()
p2.start()
# 输出:
# 生产者zs生产了0号
# 生产者zs生产了1号
# 生产者zs生产了2号
# 消费者ls吃了0号
# 消费者ls吃了1号
# 生产者zs生产了3号
# 消费者ls吃了2号
# 生产者zs生产了4号
# 消费者ls吃了3号
# 消费者ls吃了4号
Python 第三十六章 其他模式+ 生产者模式+线程相关方法
原文:https://www.cnblogs.com/zhangshan33/p/11402383.html