Select和epoll的区别

谈谈对I/O多路复用的理解,Select和Epoll的区别
首先I/O多路复用是用线程监听多个文件描述符,或连接事件,一旦发现一个或多个就绪的文件描述符便触发阻塞唤醒,让应用程序直接读写。
①Select基于轮询,遍历所有文件描述符,而epoll只遍历就绪的文件描述符,要比select快很多
②select监听集合受操作系统限制,而epoll不受限制
③在处理大量文件描述符时,随着文件描述符的增多,select性能逐渐下降,而epoll性能保持稳定
④在多线程场景下,select需将监听集合传递给每个线程,而epoll在一个线程中处理多个文件描述符,省下了线程切换和数据复制的开销。
总的来说epoll比select好,但在文件描述符较少和需要多平台支持的场景下用select更好。
全部评论
最后总结咋select更好了?
点赞 回复 分享
发布于 2023-09-16 09:30 广东
兄弟,试试光伏电池行业~
点赞 回复 分享
发布于 2023-10-06 12:18 浙江

相关推荐

02-03 12:20
门头沟学院 Java
一天代码十万三:你这个简历东西太杂了,根本看不出你想投什么岗位
点赞 评论 收藏
分享
评论
6
35
分享

创作者周榜

更多
牛客网
牛客企业服务