IO多路复用技术有哪些

select

select是Unix/Linux系统下的多路复用IO函数,通过select函数可以同时监控多个文件描述符的可读、可写和异常等事件。

缺点是效率较低,受到文件描述符数量的限制。

图片[1]-IO多路复用技术有哪些-不念博客

poll

与select类似,也可以用于监控多个文件描述符。

poll没有文件描述符数量的限制,但是在大量文件描述符时性能仍然不高。

epoll

epoll是Linux特有的多路复用IO函数,是select和poll的增强版。

通过epoll可以监听大量的文件描述符,且性能随着文件描述符数量的增加而线性增长。

epoll使用回调机制,将活跃的文件描述符放入一个事件表中,而不是像select和poll一样每次都遍历整个文件描述符集合。

© 版权声明
THE END