Python的网络编程库Gevent的安装及使用技巧
安装(以CentOS为例) wget -q http://peak.telecommunity.com/dist/ez_setup.py (2)使用 python ez_setup.py (3)使用easy_install 查看命令是否可用,如果不可用可以讲路径加入到PATH中 yum install python-devel (2) easy_install greenlet 4.安装gevent pip install cython -e git://github.com/surfly/gevent.git@1.0rc2#egg=gevent 使用技巧 import gevent from gevent.server import StreamServer def eat_cpu(): for i in xrange(10000): pass def cb(socket,address): eat_cpu() socket.recv(1024) socket.sendall('HTTP/1.1 200 OKnnHello World!!') socket.close() server = StreamServer(('',80),cb,backlog=100000) server.pre_start() gevent.fork() server.start_accepting() server._stopped_event.wait() 打上monkey.patch_os后,os.fork就可以被gevent.fork替代了,这样同时multiprocessing模块也可以像往常一样使用,并达到并行处理的效果了。 from gevent import monkey; monkey.patch_os() from gevent.server import StreamServer from multiprocessing import Process def eat_cpu(): for i in xrange(10000): pass def cb(socket,backlog=100000) server.pre_start() def serve_forever(): server.start_accepting() server._stopped_event.wait() process_count = 4 for i in range(process_count - 1): Process(target=serve_forever,args=tuple()).start() serve_forever() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |