python-gevent模块(自动切换io的协程)

Posted 奔跑de孩子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-gevent模块(自动切换io的协程)相关的知识,希望对你有一定的参考价值。

 

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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的协程)的主要内容,如果未能解决你的问题,请参考以下文章

python的协程和异步ioselect|poll|epoll

gevent 协程 使用

006py协程gevent

深入tornado中的协程

深入tornado中的协程

难得二逼的协程,事件驱动和异步IO