python 协程中的手动切换Greenlet和自动Gevent

手动切换Greenlet

python 协程中的手动切换Greenlet和自动Gevent
from greenlet import greenlet

def test1():
    print(12)
    gr2.switch()#第一次切换
    print(34)
    gr2.switch()#第三次切换
def test2():
    print(56)
    gr1.switch()#第二次切换
    print(78)
gr1 = greenlet(test1)
gr2 = greenlet(test2)
gr1.switch()
greenlet

自动切换gevent

python 协程中的手动切换Greenlet和自动Gevent
import gevent
def func1():
    print('\033[31;1m李闯在跟海涛搞...\033[0m')
    gevent.sleep(2)#遇上IO自动切换到
    print('\033[31;1m李闯又回去跟继续跟海涛搞...\033[0m')
def func2():
    print('\033[32;1m李闯切换到了跟海龙搞...\033[0m')
    gevent.sleep(0.5)#遇上IO自动切换到
    print('\033[32;1m李闯搞完了海涛,回来继续跟海龙搞...\033[0m')
def func3():
    print('running func3')
    gevent.sleep(0)#遇上IO自动切换到
    print('runing func3 again')

gevent.joinall([
    gevent.spawn(func1),#生成,
    gevent.spawn(func2),
    gevent.spawn(func3),
])
gevent

 

上一篇:自动化发布脚本


下一篇:python 购物小程序