gevent 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
gevent 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 MIT
开发语言 Python 查看源码 »
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 不详
提 交 者 红薯
适用人群 未知
收录时间 2011-12-17

软件简介

Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。

greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一个monkey类,可以将现有基于Python线程直接转化为greenlet,相当于proxy了一下(打了patch)。

功能包括:

gevent  eventlet 启发,但具有更一致的API,更简单的实现和更好的性能。阅读为什么其他人使用gevent并查看基于gevent的开源项目列表。

gevent由Denis Bilenko撰写

自从1.1版本,GEVENT由贾森劲爆用于维持 NextThought从帮助 贡献者 ,并在MIT许可下的许可。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
简直无法自拔了。。。。。汽车开到了高铁上了。 #gevent#
2015/07/31 17:04
回复
举报
更多评论
发表了资讯
2016/03/06 00:00

gevent 1.1 发布,高性能Python并发框架

gevent 1.1 发布了,该版本主要的改进是增加对 Python 3 和 PyPy 的支持,同时修复了很多 bug。完整的改进记录请看 What's New 和 ChangeLog 页面。 Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。 于greenlet、eventlet相比,性能略低,但...

1
31
发表了资讯
2015/07/15 00:00

gevent 1.1 alpha2 发布,支持 Python 3

gevent 1.1 alpha2 发布,该版本已经开始支持 Python 3 ,目前测试已经没有错误出现。官方对该版本的简单说明请看这里。 Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。

4
8
发表了资讯
2014/05/03 00:00

Gevent 1.0.1 发布,高性能的 Python 并发框架

-这是一个小的维护版本。 - 升级libev至4.15。修正了#361BUG:在ARMv5架构上面安装时会失败。 - 对Win64的更好的支持。感谢Alexey Borzenkov提供的补丁。 - 修正了#423BUG。基于WangJian Fei的补丁和测试。 - 启用libev的check watchers。 您可以从PyPI上或者github上下载: - https://pypi.python.org/pypi/gevent - ...

0
19
发表了资讯
2013/12/07 00:00

gevent 1.0 更新,Python的并发框架

Gevent 1.0 发布了,下载地址:gevent-1.0.tar.gz Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。 于greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一个monkey类,可以将现有基于Python线程直接转化为greenle...

3
24
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/07/18 06:22

gevent

greenlet已经实现了协程,但是这个还的人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent 其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时...

0
0
发表于AI & 大数据专区
2013/09/29 21:21

uliweb支持在gevent及gevent-socketio上运行

在前面将tornado的支持添加到uliweb中之后,今天又完成了对gevent和gevent-socketio的支持。这里的支持是指可以在它们上面运行。因为tornado, gevent, gevent-socketio都可以作为服务器来跑wsgi的应用。我对两者的了解都不是太多。我之所以要研究它们,主要是想看一看能不能使用它们做一个基于socketio的聊天室的功能。使...

1
15
发表了博客
2013/06/26 21:06

gevent 安装

sudo apt-get install python-dev sudo apt-get install libevent-dev 去官网下载 gevent ,解包之后 : python setup.py install

0
0
发表了博客
2019/04/29 09:37

Gevent介绍

#安装 pip3 install gevent   Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。 #用法 g1=gevent.spawn(func,1,2,3,x=4,y=5)创建一个协程...

0
0
发表于服务端专区
2017/06/06 13:33

Gevent:简要介绍

gevent是一个基于libev的并发库。它为各种并发和网络相关的任务提供了整洁的API。 Greenlets 在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系...

0
0
发表于服务端专区
06/07 22:59

Gevent is Fast

使用gevent实现高效异步请求 gevent:异步理论与实战 轻盈高效的异步访问库grequests库 之前我们分享了几篇异步爬虫理论及实战的文章,最近在爬一个网站的数据,一开始使用常规方式(同步)发现特别慢,基本上一秒...

0
0
发表了博客
2014/05/20 15:21

gevent-----Greenlets

在gevent中用到的主要模式是Greenlet,它是以C扩展模块形式接入Python的轻量级协程。Greenlet全部运行在主程序操作系统进程内部,但它们被协作式的调度. 在任何时刻,只有一个协程在运行。 这与multiprocessing或threading等提供真正并行构造的库是不同的。这些库轮转使用操作系统调度的进程和线程。是真正的并行。...

0
0
发表了博客
2013/07/07 00:41

PyBitMessage与Gevent

很高兴PyBitMessage的作者能接纳我提交的10个关于集成Gevent到PyBitMessage的Patch。 这些Patch解决了原来每个连接开启一个接收线程一个发送线程带来的CPU和内存的开销。 因为用协程替代了线程,所以上述两个问题都不复存在。 当然,这也带了一个问题,在CPU密集型计算的时候,GUI可能会卡住。 这需要用Cython在C扩展里面...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/09/06 21:47

python gevent

genvent.spawn创建的协程在gevent.sleep交出所有权并且像生成器一样将栈帧保存起来,后面又重新获取所有权执行之后,会丢失之前保存起来的栈帧吗?我现在就碰到这个问题,当创建协程少的时候不会有问题,创建协程多就会碰到这个问题。我把gevent.sleep改成time.sleep不交出所有权就不会出现该问题,但是如果把gevent.sl...

2
0
发表了问答
2016/05/21 17:11

python怎样批量生成函数?

代码: def main_function(a): if a%3==0: print a def t1(): for a in range(0,100): main_function(a) def t2(): for a in range(100,200): main_function(a) def t3(): def t4(): ....... pool=ThreadPool(20) pool.spawn(t1) pool.spawn(t2) ...... 就是类似于这样的,怎样批量...

2
0
发表了问答
2011/12/17 16:02

初试Gevent – 高性能的Python并发框架

Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。 于greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一个monkey类,可以将现有基于Python线程直接转化为greenlet,相当于proxy了一下(打了patch)。 今天有空就迫...

4
16
发表了问答
2013/08/17 04:38

twisted + pypy 优雅与性能并存

最近迷上了Twisted。 本来是比较喜欢用gevent的,不过gevent不能和pypy很好地结合,在对性能要求比较高的地方有点慢,能明显感觉到建立连接的时候有卡顿。 后来嘛,试验了一下evenlet,因为其epoll部分没有依赖C的库或代码,可以在pypy下跑,但是在pypy下表现平平,估计原因是greenlet,做得太通用了,肯定就以性能为代价...

14
18
发表了问答
2013/12/04 11:06

c++和python服务器方案选择

假如是用c/c++和python写个(游戏)服务器,不讨论纯c/c++或纯python情况下。 c/c++和python之间交互是通过socket、模块调用、还是c/c++中内嵌python? 三个方案,哪种方案用的多一点,或者有优势,听听各位意见。 下面是个人理解: 1.socket的话,c/c++写连接器,python写逻辑服务器。 可理解两个独立的程序。 2.如果是...

4
1
发表了问答
2015/03/30 11:08

python windows 下多进程如何共享socket

如题 由于python 多线程缺陷 对一个socket 要监听事件时,linux下回考虑 os.fork 子进程来帮忙一起监听这个socket 但是windows下没有守护进程 所有也没有os fork 这个函数 使用multiprocessing process 想传入socket 又会报unpickle 请问windows 下有没什么办法 多进程 一起监听绑定同一个端口的socket linux 代码: de...

1
0
发表了问答
2013/08/21 18:56

mongodb+ gevent,连接时创建连接飙升

连接mongodb采用ReplicaSetConnection连接方式,且read_preference是方式3: conn =ReplicaSetConnection("mongodb://%s:%i,%s:%i"%(host_prim,int(port_prim),host_seco,int(port_seco)),read_preference=3, replicaSet=replicaSetName) 然后呢 现在不停的 创建 协程(调用函数 spawn_test) 读写数据库, 在每个协程的 ...

1
0
发表了问答
2013/06/20 00:23

Python的Gevent框架的支持wsgi的多进程模式么

@郭煜 你好,想跟你请教个问题: 看了你的gevent框架的多进程模式,但是我实际实验的时候发现并不支持,并且会报 Traceback (most recent call last): File "stream.py", line 29, in <module> s.pre_start() AttributeError: 'StreamServer' object has no attribute 'pre_start 的错误。我的环境是python2.6 gevent-1....

4
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
149 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部