#_author:Administrator#date:2019/11/4import timedef consumer(name): print('%s 开始吃包子啦'%name) while True: baizi=yield print('包子[%s]来了,被[%s]吃了'%(baizi,name))def producer(name): c1=consumer('A') c2=consumer('B') next(c1) next(c2) print('yuwei开始做包子啦') for i in range(10): time.sleep(1) print('做了两个包子') c1.send(i) c2.send(i)producer('yuwei')#生成器都是迭代器,迭代器不一定是生成器Output:
A 开始吃包子啦
B 开始吃包子啦
yuwei开始做包子啦
做了两个包子
包子[0]来了,被[A]吃了
包子[0]来了,被[B]吃了
做了两个包子
包子[1]来了,被[A]吃了
包子[1]来了,被[B]吃了
做了两个包子
包子[2]来了,被[A]吃了
包子[2]来了,被[B]吃了
做了两个包子
包子[3]来了,被[A]吃了
包子[3]来了,被[B]吃了
做了两个包子
包子[4]来了,被[A]吃了
包子[4]来了,被[B]吃了
做了两个包子
包子[5]来了,被[A]吃了
包子[5]来了,被[B]吃了
做了两个包子
包子[6]来了,被[A]吃了
包子[6]来了,被[B]吃了
做了两个包子
包子[7]来了,被[A]吃了
包子[7]来了,被[B]吃了
做了两个包子
包子[8]来了,被[A]吃了
包子[8]来了,被[B]吃了
做了两个包子
包子[9]来了,被[A]吃了
包子[9]来了,被[B]吃了