Python中的协程

1.协程的概念

协程不是计算机提供,程序员人为创造。协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。

实现协程有这么几种方法:

greenlet,早期模块
yield关键字
asyncio装饰器(Python 3.4开始)
async、await关键字(Python 3.5开始)

目前比较推荐的实现协程的方法是:async、await关键字

2.greenlet实现协程

使用greenlet前,需要先使用下述命令下载依赖包,当前greenlet的版本为1.1.2

poetry add greenlet
from greenlet import greenlet

def func1():
    print(1)     #第2步:输出1
    gr2.switch() #第3步:切换到func2函数
    print(2)     #第6步:输出2
    gr2.switch() #第7步:切换到func2函数,从上一次执行的位置继续向后执行

def fun

你可能感兴趣的:(Python,python)