- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Eventlet学习总结--第1页
Eventlet学习总结
eventlet定义:eventlet是一个用来处理和网络相关的python网络库,而且可以通
过
为了实现并发,“协作过程”在eventlet中被称为绿色线程。所谓并发就是打开多
个绿色线程并对其进行管理,以实现无阻塞I/O。
eventlet特性:
a、非阻塞I/O模型
b、协程(coroutines)使得开发者可以采用阻塞式的开发风格,却能够实现非阻塞i/o
的效果
c、隐式事件调度允许在Python解释器或应用程序的一部分中使用Eventlet
关于协程,大致可以理解成允许子程序可以多次暂停和恢复执行,是实现多任务的一种
有效手段,eventlet的基础是greenlet,这是实现协程的基础。协程又被
称作微线程“,简单点说就是在一个原生线程上通过拷贝和切换堆栈帧数据来实现
执行多个工作,看上去和传统的单cpu,多线程执行方式差不多
eventlet的安装:
windows下安装
2.在CMD中输入Python,出现以下显示,表明Python安装成功
3、进入cmd下,输入命令就会从互联网上下载并自动安装
Eventlet到Python目录(目录示例:
c:\python27\lib\site-packages\eventlet-0.9.17-py2.7.egg\eventlet)
4.输入python,进入python环境,然后输入importeventlet命令。以下输出表明
eventlet已成功安装
linux下安装:
wget
tar-zxfactivepython-2.7.2.5-linux-x86_64.tar.gzcdactivepython-2.7.2.5-
linux-x86_64makeinstalleasy_installeventlet
importeventletpool=eventlet。绿池(10000)whiletrue:pool。繁殖(func,args)
Eventlet学习总结--第1页
Eventlet学习总结--第2页
说明:
1.Greenpool用于实现协同流程,确保并行性
2、pool=eventlet.greenpool(10000)创建一个可以处理10000个客户端连接的线程
池,
应用场景:制作im原型时,服务器需要处理多客户端连接,但不想使用传统的多线
程编程。
3、spawn()启动一个greenthread执行目标函数完成具体业务.
4.在每个函数之间切换,实现“你运行一段时间,我运行一段时间”,并指定切换时
切换的时间和地点。发生阻塞时,显式切换到另一个未被阻塞的代码段执行。原始阻塞条
件消失后,手动切换回原始代码段继续处理
5、eventlet可以用来处理多线程方面的工作,但它使用的是greenthreads概念,所
以用资源的开销很少。
Eventlet中常见类的描述:greenthread
1)sleep(seconds=0):中止当前的greenthread,以允许其它的greenthread执行。
2)Spawn(func,*args,**kwargs):创建一个绿色线程来运行func。此函数、
*args、**kwar
文档评论(0)