python中gevent库的用法详情
作者:IT之一小佬 发布时间:2022-10-17 11:14:43
标签:python,gevent,库
前言:
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),
])
运行结果:
来源:https://blog.csdn.net/weixin_44799217/article/details/125838994


猜你喜欢
- 二维列表转一维列表from compiler.ast import flattena=[[1,2],[5,6]]print(flatten(
- TensorFLow能够识别的图像文件,可以通过numpy,使用tf.Variable或者tf.placeholder加载进tensorfl
- 不论是企业网站、个人博客,或者购物网站、游戏网站,我们都希望能吸引访问者并且给他们留下愉快的访问体验。可用性是用户体验的一种度量,它可以用访
- 本文实例讲述了pymongo实现多结果进行多列排序的方法。分享给大家供大家参考。具体分析如下:这里多列排序即指定多个排序字段。集合查询结果排
- Pynimate介绍Pynimate是python第三方用于动态可视化的数据模块。安装pip install pynimate实验示例fro
- 简介桥接模式又叫桥梁模式,属于结构型模式。目的是将抽象与实现分离,使它们都可以独立的变化,解耦。继承有很多好处,但是会增加耦合,而桥接模式偏
- 我就废话不多说了,大家还是直接看代码吧~#coding=utf-8import cv2import numpy as npimg=cv2.i
- 原理:自定义javascript中的oncontextmenu事件,然后使用div层模拟菜单。知道了这个原理结合美工相信你可以做出很漂亮的自
- 本文实例讲述了python操作redis的方法。分享给大家供大家参考。具体如下:#!/usr/bin/python#coding=utf-8
- 本文实例讲述了Python数组定义方法。分享给大家供大家参考,具体如下:Python中没有数组的数据结构,但列表很像数组,如:a=[0,1,
- MySQL两张表取差集业务场景如下:人员表中有证件号、手机号字段,这两个字段因为涉及到个人隐私问题,因此加密存储,有另外一张解密表可以和人员
- 在图片处理过程中,有时候我们想要确定图片中某一像素的坐标,可以通过下面方法得到。点击运行程序,用鼠标点击我们想要获取坐标的区域,即可获得其坐
- 以下测试用于去除任何字符串中连线的分隔符 代码如下:--去除字符串中连续的分隔符 declare @str nvarchar(200) de
- 示意图:html:{# 用户管理 #} <div id="userManageDiv" style=&
- 简介:ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用crypto
- 下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。1. 字典推导(Dictionary compreh
- 先给大家介绍下python交互模式下输入换行/输入多行命令的方法换行方法 \如:>>> print 'aaa
- 但凡设计师都对简洁的设计情有独钟,我们不喜欢复杂,却也不能不会rich。先来看下“rich”在字典里的意思:(1) having an ab
- CSS网页布局应该避免滥用div元素一直是我们倡导的,以合适的HTML标签组织文档是CSS网页布局的基础。页面中div与span元素的使用是
- 前言:设计模式在我们编程中是十分重要的!设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用