在Linux编程接口书籍中(第1367页):
信号驱动的I/O也可能存在饥饿问题,因为它同样使用了边缘触发的通知机制。相比之下,在采用级别触发通知机制的应用程序中,不一定存在饥饿考虑因素。这是因为我们可以在级别触发通知中使用阻塞文件描述符,并使用循环不断检查描述符是否就绪,然后在再次检查前对准备就绪的描述符执行一些I/O操作。
我不理解这个“阻塞”部分的含义。我认为无论是使用阻塞I/O还是非阻塞I/O都是无关紧要的。(作者在本章开头也提到无论是级别触发还是边缘触发通知,通常都使用非阻塞I/O)
信号驱动的I/O也可能存在饥饿问题,因为它同样使用了边缘触发的通知机制。相比之下,在采用级别触发通知机制的应用程序中,不一定存在饥饿考虑因素。这是因为我们可以在级别触发通知中使用阻塞文件描述符,并使用循环不断检查描述符是否就绪,然后在再次检查前对准备就绪的描述符执行一些I/O操作。
我不理解这个“阻塞”部分的含义。我认为无论是使用阻塞I/O还是非阻塞I/O都是无关紧要的。(作者在本章开头也提到无论是级别触发还是边缘触发通知,通常都使用非阻塞I/O)