- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Gevent学习之阻塞与非阻塞
在线学习好工作 /
Gevent 学习之阻塞与非阻塞
gevent 中一个很大的改进就是将阻塞IO 改为非阻塞IO,比如
gevent.socket.patch 就是将项目中阻塞socket 变为非阻塞,因此深刻理解网络IO
部分阻塞/非阻塞十分重要。
1.阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结
果之后才会返回
1)connect 阻塞
2 )接收数据阻塞
2.非阻塞指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻
返回
1)接收数据非阻塞
2 )非阻塞面临的问题
源码
1.代码示例
import logging
import time
import errno
logging.basicConfig( level=logging.DEBUG ,
format=%( name ) s : % ( message ) s , )
if __name__ == __main__:
import socket
ip = localhost
port = 58562
logger = logging.getLogger ( client )
# Connect to the server
logger.debug( creating socket )
s = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
logger.debug( connecting to server )
s.setblocking(0)
try:
s.connect( ( ip , port ) )
except socket.error , msg :
if msg[0] != errno.EINPROGRESS :
logger.debug( error )
exit(1)
#time.sleep(1)
# Send the data
message = Hello , world
#len_sent = s.send ( message )
logger.debug( sending data: %s, message )
while True :
try:
len_sent = s.send ( message )
break
except socket.error, msg :
if msg[0] != errno.EAGAIN:
exit(1)
# Receive a response
logger.debug( waiting for response )
while True:
try:
response = s.recv( len_sent )
break
except socket.error, msg:
if msg[0] != errno.EAGAIN:
exit(1)
logger.debug( response from server: %s, response )
# Clean up
logger.debug( closing socket )
s.close()
logger.debug( done )
执行结果
2.代码示例
import logging
import sys
import SocketServer
import time
log
您可能关注的文档
- 2017年新课标Ⅰ语文高考试题.docx
- 2017年高考全国卷Ⅰ语文试卷(Word纯净版无答案).docx
- 2017科技圈开年大秀,冰山一角足以让你兴奋.pdf
- 20张老照片盘点欧洲杯历史20大经典瞬间.docx
- 2017全国乙(全国1)卷语文试题下载-真题精编版.docx
- 3G传输网络的组建思路探讨.pdf
- 342厂提高某产品尾座良品率.pdf
- 4545条足以震撼你的生活常识条足以震撼你的生活常识.pdf
- 4.3_电阻:导体对电流的阻碍作用(第2课时).ppt
- 5-多丰铁路外沟门特大桥空心高墩施工方案.pdf
- 14.国务院根治欠薪考核迎检注意事项(天津公司).pdf
- 附件-昆明市房屋建筑和市政基础设施工程竣工联合验收工作细则(试行).docx
- 云建协[2020]16号关于开展2020年度云南省优质工程奖、突出贡献者申报工作的通知-附件.docx
- 4 西山区建设工程质量监督复核性注册申报表.doc
- 西山区裸露垃圾全消除专项行动考核细则.doc
- 第十章 定价的理解和获得客户.pdf
- 研报农林牧渔行业本周猪价环比下跌9关注水产旺季来临-21041119页.pdf
- 新锶体验2022Q4食品饮料行业品牌体验报告16页.pdf
- WWF世界自然基金会2024年WTO渔业补贴协定及其中国应对报告18页.pdf
- 嘉益股份-拒绝古板保温杯跨界时尚正当时-22120123页.pdf
文档评论(0)