python生成器的应用场景(python用生成器实现协程)
导读:1、方法...
1 、方法
我们通过“生产者-消费者 ”模型来研究协程的应用 。生产者产生消息后直接跳转到消费者开始执行 ,消费者完成执行后切换回生产者继续生产 。
2 、实例
#-*-coding:utf8-*- defconsumer(): r= whileTrue: n=yieldr ifnotn: return print([CONSUMER]Consuming%s...%n) r=200OK defproducer(c): #启动生成器 c.send(None) n=0 whilen<5: n=n+1 print([PRODUCER]Producing%s...%n) r=c.send(n) print([PRODUCER]Consumerreturn:%s%r) c.close() if__name__==__main__: c=consumer() producer(c)send(msg)和next()的区别在于send可以将参数传递给yield表达式 ,此时传递的参数作为yield表达式的值 ,yield的参数返回给调用者的值 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!