gevent 是一个 Python 网络框架
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
如果你对这篇文章有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助。

上一篇:openssl 简单使用

目前还没有任何评论,快来抢沙发吧!
发布评论
需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。