gpt4 book ai didi

c++ - 可移植库中的 timer_create 和 TimerQueueTimer 功能(如 boost)

转载 作者:太空宇宙 更新时间:2023-11-04 12:12:33 27 4
gpt4 key购买 nike

我编写了一个在 Linux 上运行并使用 sigevent 和 timer_create 的程序,以便以指定的频率定期调用回调函数。现在,我希望该程序具有可移植性(Windows 和 Linux),所以实现它的漫长方法是使用 #ifdefs 并使用 Windows 等效功能。

据我所知,Windows 上的等价物是 TimerQueueTimer。

我知道这是一个操作系统服务,但就像线程一样,它可以通过像 Boost C++ 这样的库实现可移植。

问题是:您知道 Boost C++ 库中是否有这样的东西,或者可能在 POCO 或其他受人尊敬的库中?

如果它不存在,那么是否有任何东西可以阻止这种东西出现在可移植图书馆中?

仅供引用,boost::asio::deadline_timer 不是我要找的,它必须是一个定期调用回调函数的服务,其精度与 timer_create 和 TimerQueueTimer 相同。

最佳答案

POCO有一个运行 TimerTask(s) 的多线程 Timer 类。基本上,您可以使用定时器到期时您想执行的操作来覆盖 TimerTask 的 run() 方法。可以将多个任务添加到 Timer 对象,该对象会生成一个线程以顺序运行所有挂起的任务。任务可以是一次性的或间隔可重复的。

不确定它是否满足您的所有需求,但值得一看。

关于c++ - 可移植库中的 timer_create 和 TimerQueueTimer 功能(如 boost),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244726/

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