python中gevent库的用法详情

作者:IT之一小佬 时间:2022-10-17 11:14:43 

前言:

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

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

安装gevent库:

pip install gevent

python中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)

运行结果:

python中gevent库的用法详情

 示例代码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库的用法详情

来源:https://blog.csdn.net/weixin_44799217/article/details/125838994

标签:python,gevent,库
0
投稿

猜你喜欢

  • i++循环与i-–循环的执行效率(递增与递减效率)

    2023-05-28 03:07:40
  • pytorch载入预训练模型后,实现训练指定层

    2022-01-22 12:40:35
  • 解决Python中由于logging模块误用导致的内存泄露

    2021-08-24 08:04:46
  • php zlib压缩和解压缩swf文件的代码

    2024-03-25 12:48:47
  • Mysql 索引 BTree 与 B+Tree 的区别(面试)

    2024-01-13 03:10:32
  • 在ORACLE移动数据库文件

    2010-08-02 12:54:00
  • vue指令之表单控件绑定v-model v-model与v-bind结合使用

    2023-07-02 16:28:15
  • MySQL字段类型详解

    2009-01-05 09:23:00
  • ie7.0浏览器 兼容问题苦煞网站设计者

    2007-08-08 17:11:00
  • Go/C语言LeetCode题解997找到小镇法官

    2024-05-21 10:18:54
  • Python版名片管理系统

    2021-08-28 18:51:22
  • IDEA连接MySQL数据库并执行SQL语句使用数据图文详解

    2024-01-14 13:57:09
  • Python查询IP地址归属完整代码

    2022-10-18 16:39:07
  • js链表操作(实例讲解)

    2024-04-17 10:37:33
  • 解决python文件字符串转列表时遇到空行的问题

    2021-06-27 09:18:25
  • 远程连接mysql错误代码1130的解决方法

    2024-01-14 06:54:05
  • Python爬虫获取豆瓣电影并写入excel

    2022-04-24 06:41:12
  • python基础教程之缩进介绍

    2022-11-20 07:41:57
  • mac os10.12安装mysql5.7.18教程

    2024-01-19 14:08:27
  • 使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法

    2021-09-17 08:53:15
  • asp之家 网络编程 m.aspxhome.com