python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python gevent库

python中gevent库的用法详情

作者:IT之一小佬

这篇文章主要介绍了python中gevent库的用法详情,Greenlet全部运行在主程序操作系统的过程中,但是它们是协作调度的,文章围绕主题展开详细的内容介绍,具有一定的参考价值

前言:

安装gevent库:

pip install gevent

示例代码1:

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

运行结果:

 示例代码2:

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(2)
    print('Implicit context switch back to bar')
 gevent.joinall([
    gevent.spawn(foo),
    gevent.spawn(bar),
])

运行结果:

到此这篇关于python中gevent库的用法详情的文章就介绍到这了,更多相关python gevent库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文