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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论