摘要: 我们知道,LINUX为了解决SELECT或者POLL函数调用效率不够高的问题,退出了一个内核调用函数EPOLL,而WINDOWS下的完成端口更进一步,EPOLL只是在有变化的时候通知投递者,而完成端口干脆连部分变化也一起给处理了。 SELECT效率为什么不如EPOLL,这就需要操作系统知识了,因为操作系统对句柄的管理是全局的,而很多操作是通过驱动来完成的,SELECT的原理是,对SELECT指定的SOCKET队列进行循环扫描,直大发生指定变化或者超时,注意是循环,特例就是指定超时时间为0,这个时候,SELECT的效率同样是很高的,而当变化发生时,由于调度的关系,这个时候SELECT可能并没有被 阅读全文
posted @ 2012-09-02 14:09 igody 阅读(2141) 评论(0) 推荐(0) 编辑