"""
1. 用协程实现消费者生产者模型
2. Python对协程的支持是通过generator实现的
3. 有yield的话,就是generator
"""
def consumer():
r = ‘‘
while True:
# n为send过来的值
# yield类似于断点,有两个作用。
# 1. 生成值
# 2. 在这里断点,交出控制权。
n = yield r
if not n:
return
print(‘[CONSUMER] Consuming %s...‘ % n)
r = ‘200 OK‘
def produce(c):
#start generator with None
c.send(None)
n = 0
while n < 5:
n = n + 1
print(‘[PRODUCER] Producing %s...‘ % n)
#启动生成器,并附带一个值,r接收yield生成的值
r = c.send(n)
print(‘[PRODUCER] Consumer return: %s‘ % r)
c.close()
c = consumer()
produce(c)
原文:https://www.cnblogs.com/allen2333/p/8940060.html