您的位置:首页 > 编程语言 > Python开发

Python实现协程的生产者与消费者

2016-05-16 17:25 573 查看
#-*- coding:utf-8 -*-
__author__ = '杨鑫'
'''
生产者与消费者对于资源的读取问题:
此处写法为利用协程的思想实现,利用yield生成器,
生产者生产一个东西,接着调到yield的下一条语句,
实现消费者,消费后,又返回生产者处,继续生产,
接着道消费者处消费反复反复......
'''
def consumer():                                        #一个生成器
r = ''
while True:
n = yield r
if not n:
return
print ('[CONSUMER] Consuming %s...'%n)
r = '200 OK'
def produce(c):
c.send(None)                                        #启动生成器
n = 0
while n < 5:
n += 1
print('[PRODUCER] Producing %s..'%n)
r = c.send(n)
print('[PRODUCER] Consumer: %s'% r)
c.close()

c = consumer()
produce(c)                                             #传递一个生成器


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: