gpt4 book ai didi

epoll - 为什么epoll_wait只提供1ms的巨大超时?

转载 作者:行者123 更新时间:2023-12-02 03:22:20 27 4
gpt4 key购买 nike

epoll_wait、select 和 poll 函数都提供超时。然而使用epoll,其分辨率可达1ms。 Select 和 ppoll 是唯一提供亚毫秒级超时的。

这意味着最好以 1 毫秒的间隔做其他事情。在现代 CPU 上,我可以在 1 毫秒内完成很多其他事情。

因此,要执行其他事情的频率超过 1 毫秒,我实际上必须提供零超时(本质上是禁用它)。我可能会在主循环中的某个位置添加我自己的 usleep,以阻止它消耗过多的 CPU。

所以问题是,当我清楚地认为存在更高分辨率超时的情况时,为什么超时以毫秒为单位。

最佳答案

由于您使用的是 Linux,因此您可以简单地使用 timerfd,而不是提供零超时值并在循环体中手动使用 sleep。 API。这本质上允许您创建一个与文件描述符关联的计时器(分辨率小于 1 毫秒),您可以将其添加到受监视的描述符集中。

关于epoll - 为什么epoll_wait只提供1ms的巨大超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8597764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com