紫影基地

 找回密码
 立即注册
查看: 163|回复: 0

[Python] Python中Gevent的使用

[复制链接]
阅读字号:

41

主题

42

帖子

8031

积分

论坛元老

Rank: 8Rank: 8

积分
8031
发表于 2024-4-12 12:30:17 | 显示全部楼层 |阅读模式

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)
以上就是Python中Gevent的使用,希望对大家有所帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 10:02 , Processed in 0.082874 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表