python中gevent库的用法详情

 更新时间:2022年07月18日 09:38:16   作者:IT之一小佬  
这篇文章主要介绍了python中gevent库的用法详情,Greenlet全部运行在主程序操作系统的过程中,但是它们是协作调度的,文章围绕主题展开详细的内容介绍,具有一定的参考价值

前言:

  • 1、gevent库可以轻松实现并发同步或异步编程。gevent中使用的主要模式是Greenlet,它是以C扩展模块的形式访问Python的轻量级协程。
  • 2、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库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python调用系统中应用程序的函数示例

    python调用系统中应用程序的函数示例

    这篇文章主要为大家介绍了python调用系统中应用程序详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python实现求一个集合所有子集的示例

    Python实现求一个集合所有子集的示例

    今天小编就为大家分享一篇Python 实现求一个集合所有子集的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Numpy数组的保存与读取方法

    Numpy数组的保存与读取方法

    下面小编就为大家分享一篇Numpy数组的保存与读取方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 5款实用的python 工具推荐

    5款实用的python 工具推荐

    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python 社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。
    2020-10-10
  • python使用信号量动态更新配置文件的操作

    python使用信号量动态更新配置文件的操作

    这篇文章主要介绍了python使用信号量动态更新配置文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python 如何调试程序崩溃错误

    Python 如何调试程序崩溃错误

    这篇文章主要介绍了Python 如何调试程序崩溃错误,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • Django记录操作日志与LogEntry的使用详解

    Django记录操作日志与LogEntry的使用详解

    我们既知道如何记录变更日志,也知道如何获取变更日志,那么如何才能够在admin后台方便地查看操作日志呢?这篇文章主要给大家介绍了关于Django记录操作日志与LogEntry使用的相关资料,需要的朋友可以参考下
    2022-01-01
  • Python实现批量将word转换成pdf

    Python实现批量将word转换成pdf

    这篇文章主要为大家详细介绍了如何利用Python实现批量将word文档转换成pdf文件,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • Python如何实现动态数组

    Python如何实现动态数组

    这篇文章主要介绍了Python如何实现动态数组,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python实现控制台打印的方法

    python实现控制台打印的方法

    今天小编就为大家分享一篇python实现控制台打印的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论