待补充
greenlet是一个用c实现的协程模块,相比于python自带的yield,他可以在任意函数之间随意切换,而不需要把这个函数先申明为generator。
使用greenlet实现协程
from greenlet import greenlet
def f1():
print(12)
gr2.switch()
print(34)
gr2.switch()
def f2():
print(56)
gr1.switch()
print(78)
if __name__=='__main__':
gr1 = greenlet(f1)
gr2 = greenlet(f2)
gr1.switch() #手动切换,gevent是对greenlet的封装,实现自动切换
#输出结果 12\n 56\n 34\n 78\n
greenlet是手动切换
gevent是对greenlet的封装,实现自动切换