IO多路复用

关注0人关注
我要报错
  • select和epoll的前世今生

    了解IO多路复用应该对epoll和select不陌生吧。首先,select是有缺陷的,就是当事件发生(调用select)的时候,都需要在用户态和内核态之间拷贝fd数组,要知道用户态和内核态之间进行内存的拷贝是非常昂贵的,如果有上万级别的并发网络需要处理的时候,服务器根本处理不来。这时候,Linux内核的开发者应该算是简单又粗暴的增加了一个内核调用,就是epoll了,有时候简单粗暴的东西还是能提高效率的。先来看select接口: