是否有一个良好的轻量级多平台C ++计时器队列?

时间:2020-03-06 14:39:35  来源:igfitidea点击:

我正在寻找的是一个简单的计时器队列,可能带有外部计时源和轮询方法(这样它将是多平台的)。每个入队的消息都可以是一个对象,该对象使用" virtual onTimer()"成员函数实现一个简单的接口。

解决方案

CodeProject上有一篇不错的文章,描述了Windows中可用的各种计时器,并有标题为"队列计时器"和"制作自己的计时器"的章节。

为了实现平台独立性,我们必须在#ifdef-#endif`对中为不同的平台进行实现。我没有比这更丑陋的了。

Boost :: ASIO包含一个异步计时器实现。那可能对我们有用。

它不符合所有条件,但是...我写了一系列有关Windows的计时器队列的博客文章,这些计时器是根据外部时间提供程序实现的,或者由线程轮询或者驱动。该系列附带源代码和测试,其目的是演示对相当复杂的代码的测试。无论如何,如果没有人提出更好的建议,我们也许可以利用一些代码或者想法。

文章从这里开始:http://www.lenholgate.com/archives/000306.html