gpt4 book ai didi

linux - poll/epoll 兼容定时器

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:26 25 4
gpt4 key购买 nike

问候,

我想知道是否有一种方法可以将计时器与 linux poll/epoll API 结合使用。我已经在使用 epoll,如果我能让计时器成为队列中的另一个 epoll 事件,它会很好地与现有代码集成。

一个可能的方法是,一个基于文件的定时器,比如

echo 400;now > /dev/timer ; cat /dev/timer ; # outputs after 400ms "now"

只是一个虚构的例子。有这样的东西吗?或者还有其他方法可以将它与 epoll API 集成吗?

--马伦茨

最佳答案

用epoll做定时器是微不足道的,因为epoll_wait也带了一个timeout参数;您只需将所有计时器放入优先级队列并将超时设置为从现在到第一个计时器之间的时间,然后触发该计时器的事件。

或者使用提供类似功能的 libevent。

是的,如果你真的想要,你可以使用 timerfd(),但没有必要。

关于linux - poll/epoll 兼容定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946267/

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