Python高阶---协程
协程: 协程,又称微线程。同一线程中不同子程序之间的切换和调度。
协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。
=============================
交替执行
def consumer():
r = ''
while True:
n = yield r
if not n:
return
print('[Consumer] Consuming %s '% n)
r = '200 OK'
def producer(c): # 传入一个生成器参数
c.send(None)
n = 0
while n < 5:
n = n + 1
print('[Producer] Producing %s ' % n)
r = c.send(n)
print('[Producer] Consumer return: %s ' % r)
if name == 'main':
c = consumer()
producer(c)