epoll的水平触发处理阻塞io
epoll有两种工作模式,分别为水平触发和边缘触发。手册上面说边缘触发的时候要求文件描述符必须为非阻塞的,这个我可以理解。但是水平触发为什么可以处理阻塞io呢?
在水平触发模式下,如果一个io是阻塞的,我们对这个io进行写操作,io一直阻塞,那么进程就会被阻塞,其他的io也无法处理了,这种情况正确吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
"水平触发为什么可以处理阻塞I/O"这句话不太懂。我们说I/O阻不阻塞主要就是说当I/O没有准备好的时候,要不要等待。既然都用到epoll了,那么就说明你写的时候,I/O已经准备好了,也就不存在阻塞了,那当处理完这个文件描述符以后,就可以继续处理下一个准备好了的文件描述符。