版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Enjoytraveling/article/details/84991368
协程与异步
协程简介:
协程又称之为微线程,协程看上去也是子程序,但在执行的过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候返回来接着执行程序。当然子程序是协程的特列。
个人见解:协程相当与在子程序(假设称之为A程序)执行的过程中执行到一定的步骤后可以进行中断(注:这里的中断当然不能够是函数调用),去执行别的子程序(假设称之为B程序),并且在适当的时候返回A程序继续执行。这就称之为协程。
消费者与生成者之间协程举例:
def consumer():
r = ''
while True:
print('执行循环...')
n = yield r
if not n:
return
print('[CONSUMER] Consuming %s...' % n)
r = '1' + r
def produce(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)
c.close()
c = consumer()
produce(c)
同步,异步简介:
是指对于请求的发起者,是否需要等到请求的结果(同步),还是说请求完毕的时候以某种方式通知请求发起者(异步)