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