epoll的水平触发处理阻塞io

epoll有两种工作模式,分别为水平触发和边缘触发。手册上面说边缘触发的时候要求文件描述符必须为非阻塞的,这个我可以理解。但是水平触发为什么可以处理阻塞io呢?

在水平触发模式下,如果一个io是阻塞的,我们对这个io进行写操作,io一直阻塞,那么进程就会被阻塞,其他的io也无法处理了,这种情况正确吗?


慕的地8271018
浏览 806回答 1
1回答

精慕HU

水平触发为什么可以处理阻塞I/O"这句话不太懂。我们说I/O阻不阻塞主要就是说当I/O没有准备好的时候,要不要等待。既然都用到epoll了,那么就说明你写的时候,I/O已经准备好了,也就不存在阻塞了,那当处理完这个文件描述符以后,就可以继续处理下一个准备好了的文件描述符。
打开App,查看更多内容
随时随地看视频慕课网APP