问候,
我想知道是否有办法将计时器与linux poll / epoll API结合使用。 我已经使用了epoll,如果我能让计时器成为我队列中的另一个epoll事件,它会与现有代码整合得非常好。
可能的方法是,基于文件的计时器,如
echo 400;now > /dev/timer ; cat /dev/timer ; # outputs after 400ms "now"
就像一个虚构的例子。 有这样的事吗?或者还有其他方法可以将它与epoll API集成吗?
- Marenz
答案 0 :(得分:5)
使用epoll进行定时器是微不足道的,因为epoll_wait也需要一个超时参数;您只需将所有计时器放入优先级队列,并将超时设置为从现在到第一个之间的时间,然后为该计时器触发事件。
或者使用libevent提供类似的功能。
是的,如果你真的想要,你可以使用timerfd(),但是没有必要。
答案 1 :(得分:0)
watch -n 0.4
命令在这种情况下是否有用?