生成器并行

本文通过Python生成器实现了一个简单的并行消费生产者模型。该模型包含两个消费者并发地从一个生产者那里接收数据(模拟包子)。每个消费者接收到包子后会输出相应的信息。文章通过定时睡眠模拟实际操作中的延时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#Author:donghuiya
#生成器并行
import time
def consumer(name):
    print("%s准备吃包子了!"%name)
    while True:
        baozi=yield #生成器的标志,每次都会在这截断跳出函数
        print("%s包子来了"%baozi)
# c=consumer('aa')#并没有执行consumer,只是返回了一个地址
# c.__next__()
# c.__next__()
def productor():
    c1=consumer('aa')
    c2=consumer('bb')
    c1.__next__()
    c2.__next__()
    print('我开始做包子了')
    for i in range(10):
        time.sleep(1)
        print('两人分一半')
        c1.send(i)
        c2.send(i)

productor()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值