生成器实现单线程的并行效果
''' 迭代器和生成器的结合实例 生成器只有在调用的时候才会生成相应的数据 ''' 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")