Select和epoll的区别
谈谈对I/O多路复用的理解,Select和Epoll的区别
首先I/O多路复用是用线程监听多个文件描述符,或连接事件,一旦发现一个或多个就绪的文件描述符便触发阻塞唤醒,让应用程序直接读写。
①Select基于轮询,遍历所有文件描述符,而epoll只遍历就绪的文件描述符,要比select快很多
②select监听集合受操作系统限制,而epoll不受限制
③在处理大量文件描述符时,随着文件描述符的增多,select性能逐渐下降,而epoll性能保持稳定
④在多线程场景下,select需将监听集合传递给每个线程,而epoll在一个线程中处理多个文件描述符,省下了线程切换和数据复制的开销。
总的来说epoll比select好,但在文件描述符较少和需要多平台支持的场景下用select更好。
首先I/O多路复用是用线程监听多个文件描述符,或连接事件,一旦发现一个或多个就绪的文件描述符便触发阻塞唤醒,让应用程序直接读写。
①Select基于轮询,遍历所有文件描述符,而epoll只遍历就绪的文件描述符,要比select快很多
②select监听集合受操作系统限制,而epoll不受限制
③在处理大量文件描述符时,随着文件描述符的增多,select性能逐渐下降,而epoll性能保持稳定
④在多线程场景下,select需将监听集合传递给每个线程,而epoll在一个线程中处理多个文件描述符,省下了线程切换和数据复制的开销。
总的来说epoll比select好,但在文件描述符较少和需要多平台支持的场景下用select更好。
全部评论
兄弟,试试光伏电池行业~
最后总结咋select更好了?
相关推荐
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说 点赞 评论 收藏
分享
想当offer收割机...:当你成功的时候,所有人都会为你的一切古怪找理由,我特别认同这句话,往日之事如东流水,成功就是最好的解释权。
点赞 评论 收藏
分享
