摘要: 在上一篇里面介绍了gevent的最主要的功能,先来来了解一下gevent里面一些更加高级的功能。 事件 事件是一种可以让greenlet进行异步通信的手段。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import 阅读全文
posted @ 2016-04-14 23:28 编程青年的崛起 阅读(663) 评论(0) 推荐(0) 编辑
摘要: gevent是Python的一个用于网络IO的函数库,其中应用到了 coroutine(协同程序) 的思想。首先来了解下目前网络框架的几种基本的网络I/O模型: 阻塞式单线程:这是最基本的I/O模型,只有在处理完一个请求之后才会处理下一个请求。它的缺点是效能差,如果有请求阻塞住,会让服务无法继续接受 阅读全文
posted @ 2016-04-14 23:25 编程青年的崛起 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 1、基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TC 阅读全文
posted @ 2016-04-14 22:44 编程青年的崛起 阅读(283) 评论(0) 推荐(0) 编辑
摘要: select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说 阅读全文
posted @ 2016-04-14 22:40 编程青年的崛起 阅读(275) 评论(0) 推荐(0) 编辑