gevent 是一个 Python 网络框架

发布于 2021-04-08 12:03:19 字数 1695 浏览 1205 评论 0

gevent 是一个 python 网络框架,对应 Java 的 netty 框架,使用 greenlet 提供异步API,基于 libevent,它为各种并发和网络相关的任务提供了整洁的 API。

特点

快速基于 libevent 的 event loop
基于greenlet的轻量级执行单元
重用python标准api(event,queue)
协同的socket和ssl模块
使用标准库和第三方模块写标准阻塞socket(gevent.monkey)
dns 查询执行通过 libevent-dns
基于 libevent-http 的快速 WSGI 服务器

安装

python v2.4
greenlet
libevent v1.4.x

from gevent import socket

说不能导入 socket 参考 http://stackoverflow.com/questions/6431096/gevent-does-not-install-properly-on-ubuntu

例子

import gevent
from gevent import socket
urls = ['www.google.com','www.python.org','www.foofish.net']
jobs = [gevent.spawn(socket.gethostbyname, url) for url in urls]
gevent.joinall(jobs, timeout=2)
print [job.value for job in jobs]
['74.125.128.147', '82.94.164.162', '106.186.27.60']

gevent.socket 与 python 标准库的 socket 有相同的接口

http://sdiehl.github.io/gevent-tutorial/
http://architects.dzone.com/articles/threads-versus-greenlets
http://blog.pythonisito.com/2012/07/introduction-to-gevent.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

沧笙踏歌

文章 0 评论 0

山田美奈子

文章 0 评论 0

佚名

文章 0 评论 0

岁月无声

文章 0 评论 0

暗藏城府

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文