gevent学习笔记

来源:互联网 发布:淘宝获得成长值的商品 编辑:程序博客网 时间:2024/05/19 03:30

gevent概念和使用例子: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001407503089986d175822da68d4d6685fbe849a0e0ca35000

gevent社区的一个教程:
http://sdiehl.github.io/gevent-tutorial/
gevent 安装
安装环境为 centOS7.0
获取软件包

wget http://pypi.python.org/packages/source/g/gevent/gevent-0.13.1.tar.gz#md5=5c1b03d9ce39fee4cfe5ea8befb1d4c4

解压

tar zxf gevent-0.13.1.tar.gz

解压后,要先运行下其中的:

python fetch_libevent.py

报错提示python.h no such file or directory

有两种情况,一种是真的没有Python.h这个文件,一种是Python的版本不对,可以进入/usr/include/文件夹下的Python2.x文件夹里查找是否有Python.h这个文件。如果是第一种情况,那么需要安装Python-dev这个包,(yum install python-devel -y)

然后:

python setup.py buildpython setup.py install

官方文档笔记

gevent是啥?
gevent是一个基于协程的python的网络包。

gevent能干啥?
1 Fast event loop based on libev (epoll on Linux, kqueue on FreeBSD, select on Mac OS X). 不懂
2 Lightweight execution units based on greenlet。 不懂
3 API that re-uses concepts from the Python standard library (e.g. gevent.event.Event, gevent.queue.Queue). 包装了一些Python标准库。
4 Cooperative socket and ssl modules. 包装了socket 和 ssl 模块,使得他们能够协程
5 Ability to use standard library and 3rd party modules written for standard blocking sockets (gevent.monkey) 不懂
6 DNS queries performed through threadpool (default) or through c-ares (enabled via GEVENT_RESOLVER=ares env var). 不懂
7 TCP/UDP/HTTP servers 包装了这些服务器
8 Subprocess support (through gevent.subprocess) 不懂
9 Thread pools 实现了线程池

0 0
原创粉丝点击