猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
用了epoll还需要非阻塞么?
因为epoll每次返回的是有数据可读的fd,那么read的话肯定不会阻塞住的,那么用了epoll之后是不是就不要再把fd设为非阻塞了呢???
凤凰求蛊
浏览 258
回答 2
2回答
倚天杖
一般不需要设置。因为fd的NON_BLOCK会增加程序的复杂度,数据写没写完还要额外判断,加上epoll是回调机制,这样还需要维护另外一个逻辑。网络速度现在很快了,一般读写都是可以立即返回的。没必要。
0
0
0
浮云间
IO多路复用+阻塞式。仅使用一个线程就可以实现对多个描述符的状态管理,但由于IO输入输出调用本身是阻塞的,可能出现某个IO输入输出过慢,影响其他描述符的效率,从而体现出整体性能不高。此种方式编程难度比较低。单考虑read是不需要的,不过考虑到write的时候,由于对端的速率未知,可能影响整体性能。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续