生成器模式的协程

#生成器模式的协程,这个生成器其实本身就是协程

def consumer():
    n =
0
   
while True:
        n =
yield n #n= 1 ,yield 1 (由于没有print(send(n)),所以yield1不输出,),挂起n下次继续从这里执行
       
if n is not None and n > 0:
           
print('消費者開始消費%d'%(n))


def producer(c):
    n =
1
   
next(c) #预激活,否则报错:首次调用生成器不能够发入非none数据
   
# 生产者产生5个数15发送给消费者。
   
print("生产者产生5个数15发送给消费者。")
   
while n <= 5:
       
print('生成者生產數字%d'%(n))
       
print(c.send(n))
       
print('生產者休息一下......')
        n +=
1
   
c.close()


if __name__ == '__main__':
    c = consumer()
    producer(c)

 

你可能感兴趣的:(python_协程)