首页 > 文章列表 > Python中Gevent的使用

Python中Gevent的使用

Python Gevent
495 2022-08-07

1、可以通过gevent轻松实现并发同步或异步编程。gevent中使用的主要模式是Greenlet,它是以C扩展模块的形式访问Python的轻量级协程。

2、Greenlet全部运行在主程序操作系统的过程中,但是它们是协作调度的。

实例

from gevent import monkey; # 为了能识别time模块的io
monkey.patch_all()  #必须放到被打补丁者的前面,如 time,socket 模块之前
import gevent
# pip install gevent
from time import time,sleep
 
def gf(name):
    print(f'{name}:我想打王者!!')
    # gevent.sleep(2)
    sleep(2)
    print(f'{name}:我想吃大餐!!!')
 
def bf(name):
    print(f'{name}:一起打!!!')
    # gevent.sleep(2)
    sleep(2)
    print(f'{name}:一快去吃!!')
 
if __name__ == "__main__":
    start = time()
    # 创建协程对象
    g1 = gevent.spawn(gf,'貂蝉')
    g2 = gevent.spawn(bf,'吕布')
 
    # 开启任务
    g1.join()
    g2.join()
    end = time()
    print(end-start)