aotxland

2022年6月26日

最近连续加了一个月班,所以上次雄心勃勃制定的更新计划又鸽了

另一件事是租了个主卧,从公司宿舍里搬出来了

Linux IO多路复用分析(Select、Poll和Epoll)

前段时间被迫把一坨没人维护代码中的Select机制换成了Epoll,借此机会梳理一下Select、Poll和Epoll的原理。

I/O多路复用:

I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。

继续阅读