我正在寻找的是一个简单的计时器队列,可能带有外部定时源和一个轮询方法(这样它将是多平台的)。每个排队的消息都可以是一个实现具有virtual onTimer()
成员函数的简单接口的对象。
答案 0 :(得分:4)
Boost::ASIO
包含异步计时器实现。这可能对你有用。
答案 1 :(得分:2)
CodeProject中有一篇很好的文章here,它描述了Windows中可用的各种计时器,并有一章标题为“队列计时器”和“自己制作计时器”。
对于平台独立性,您必须为#ifdef -- #endif
对内的不同平台进行实施。我看到的不仅仅是丑陋。
答案 2 :(得分:0)
它不符合您的所有条件,但是......我写了一系列关于Windows的计时器队列的博客帖子,这些帖子是根据外部时间提供程序实现的,并且可以轮询或由线程驱动。该系列附带源代码和测试,其重点是演示合理复杂代码的测试。无论如何,如果没有人能够更好地适应你,你或许可以使用一些代码或想法。