我想知道是否存在 - 至少在Linux下 - 一个系统调用,它监视一组文件描述符,并首先“提供”第一个准备好运行的文件描述符。
我一直在使用select
,我不希望select
对观察的描述符强制实施一种FirstComeFirstServed策略,因为它的实现应该是轮询的一个小变化。
也许我要求一个事件驱动的处理程序,但除了epoll
之外我对它的了解还不知道。
由于
答案 0 :(得分:1)
所有事件多路分解器(select
/ poll
/ epoll
)都会发出当时需要注意的所有FD信号(根据您提供的手表集),没有区别,除了epoll
也可以以边缘触发的方式使用。
当您在多任务操作系统上运行时,结果集随时可以包含多个FD(无需任何其他排序),因此,当您的流程进行计划时,可能会发生多个事件。注意:运行RT(实时)内核并将进程设置为高或实时优先级可能会有所帮助......