生产消费模型

Posted zhangsenzhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产消费模型相关的知识,希望对你有一定的参考价值。

import time
def comsumer():
    need = input("请问需要多少包子:")
    return need
def producer(n):
    res = []
    for i in range(1,n+1):
        time.sleep(0.2)
        res.append(包子%s %i)
    return res
while True:
    n = int(comsumer())
    m = producer(n)
    print(m,
这是您的%s个包子,请收好,欢迎下次光临 %n)

代码结果如下:  

请问需要多少包子:10
[‘包子1‘, ‘包子2‘, ‘包子3‘, ‘包子4‘, ‘包子5‘, ‘包子6‘, ‘包子7‘, ‘包子8‘, ‘包子9‘, ‘包子10‘]
这是您的10个包子,请收好,欢迎下次光临
请问需要多少包子:15
[‘包子1‘, ‘包子2‘, ‘包子3‘, ‘包子4‘, ‘包子5‘, ‘包子6‘, ‘包子7‘, ‘包子8‘, ‘包子9‘, ‘包子10‘, ‘包子11‘, ‘包子12‘, ‘包子13‘, ‘包子14‘, ‘包子15‘]
这是您的15个包子,请收好,欢迎下次光临
请问需要多少包子:

import time
def comsumer():
    while True:
        need = input()
        print("我需要%s个包子" %need)
        yield need
        baozi = yield
        print("谢谢您的%s个包子!" %baozi)
        producer()
def producer():
    print("请问您需要多少包子?")
    a = comsumer()
    xuqiu = a.__next__()
    a.__next__()
    time.sleep(int(xuqiu)/10)
    res = ["包子%s" %i for i in range(1,int(xuqiu)+1)]
    print(res,"
这是您的%s个包子,请收好,欢迎下次光临" %xuqiu)
    a.send(xuqiu)
producer()

代码结果如下:

请问您需要多少包子?
10
我需要10个包子
[‘包子1‘, ‘包子2‘, ‘包子3‘, ‘包子4‘, ‘包子5‘, ‘包子6‘, ‘包子7‘, ‘包子8‘, ‘包子9‘, ‘包子10‘]
这是您的10个包子,请收好,欢迎下次光临
谢谢您的10个包子!
请问您需要多少包子?













以上是关于生产消费模型的主要内容,如果未能解决你的问题,请参考以下文章

Java生产消费者模型——代码解析

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

生产者消费者模型-Java代码实现

转: Java并发编程之十三:生产者—消费者模型(含代码)

golang生产者消费者模型示例代码

golang生产者消费者模型示例代码