谈谈对I/O多路复用的理解,Select和Epoll的区别首先I/O多路复用是用线程监听多个文件描述符,或连接事件,一旦发现一个或多个就绪的文件描述符便触发阻塞唤醒,让应用程序直接读写。①Select基于轮询,遍历所有文件描述符,而epoll只遍历就绪的文件描述符,要比select快很多②select监听集合受操作系统限制,而epoll不受限制③在处理大量文件描述符时,随着文件描述符的增多,select性能逐渐下降,而epoll性能保持稳定④在多线程场景下,select需将监听集合传递给每个线程,而epoll在一个线程中处理多个文件描述符,省下了线程切换和数据复制的开销。总的来说epoll比select好,但在文件描述符较少和需要多平台支持的场景下用select更好。