携程greenlet的简单使用

协程 greenlet库

pip install greenlet
文档
https://greenlet.readthedocs.io/en/latest/
from greenlet import greenlet

def test1():
    print(12)
    gr2.switch()
    print(34)

def test2():
    print(56)
    gr1.switch()
    print(78)

gr1 = greenlet(test1)
gr2 = greenlet(test2)
gr1.switch()

"""
12
56
34

首先创建两个执行对象
gr1.switch() 跳转到test1函数,打印12
跳转到test2函数,打印56
跳转到test1函数,打印34,test1执行完毕,gr1死亡,即gr1.switch()执行完毕,不会打印78
"""



from greenlet import greenlet

def test1(x, y):
    z = gr2.switch(x+y)
    print(z)

def test2(u):
    print(u)
    gr1.switch(42)

gr1 = greenlet(test1)
gr2 = greenlet(test2)
gr1.switch("hello", " world")
"""
hello world
42
"""

猜你喜欢

转载自blog.csdn.net/sunt2018/article/details/85925432