#coding: utf-8
import time
def consumer():
"""消费者"""
print 111
r = ''
while True:
n = yield r
print 333
if not n:
return
print('[CONSUMER] Consuming %s...' % n)
time.sleep(1)
r = '200 OK'
def produce(c):
"""生产者"""
print 000
c.next()
print 222
n = 0
while n < 5:
n = n + 1
print('[PRODUCER] Producing %s...' % n)
r = c.send(n)
print('[PRODUCER] Consumer return: %s' % r)
c.close()
def test_yield():
"""生成器"""
print '---start'
for i in [1,2,3]:
print 'i: %s' % i
x = yield i
print 'x: %s' % x
print '======='
if name=='main':
协程的执行过程
#c = consumer()
#produce(c)
# <a href="/tag/shengcheng/" target="_blank" class="keywords">生成</a>器的执行过程
gen = test_yield()
for k in gen:
print 'k: %s' % k
print '--- end'</code></pre>