python协程与同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 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)	

 同步,异步简介:
 是指对于请求的发起者,是否需要等到请求的结果(同步),还是说请求完毕的时候以某种方式通知请求发起者(异步)

猜你喜欢

转载自blog.csdn.net/Enjoytraveling/article/details/84991368