1. 程式人生 > >python-gevent模塊(自動切換io的協程)

python-gevent模塊(自動切換io的協程)

UNC TE fun AS imp In 程序 自動 AR

import gevent


def foo():

    print("Running in foo")
    gevent.sleep(2)
    print("Explicit context switch to foo again")


def bar():
    print("Explicit context to bar")
    gevent.sleep(1 )
    print("Implicit context switch back to bar")

def func3():
    print("running func3")
    gevent.sleep(0)#遇到io就切換,sleep最長2秒,所以整個程序花費兩秒,如果是串行需要花費3秒
    print("running func3 again")

gevent.joinall([

    gevent.spawn(foo),#啟動一個協程
    gevent.spawn(bar),
    gevent.spawn(func3)
]

)

python-gevent模塊(自動切換io的協程)