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

来源:互联网 发布:淘宝处理不公平 编辑:程序博客网 时间:2024/05/01 11:46
#-*- 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)                                             #传递一个生成器




0 0