'''
迭代器和生成器的结合实例
生成器只有在调用的时候才会生成相应的数据
'''
import time
#吃包子
def consumer(name):
print("%s 准备开始吃包子啦!" % (name))
while True:
baozi = yield
print("一半包子[%s]被[%s]吃掉啦" % (baozi, name))
#做包子
def producer(name):
#创建Eric 和 Peter生成器
a = consumer('Eric')
b = consumer("Peter")
#让Eric和Peter准备开始吃包子
a.__next__()
b.__next__()
print("[%s]要开始做包子了...." % name)
for i in range(10):
time.sleep(2)
print("一个包子出笼!")
a.send(i)
b.send(i)
print("\n")
producer("xiaobai")