协程(二):Greenlet

generator

待补充

Greenlet简介

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的封装,实现自动切换

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