Есть ли хорошая облегченная многоплатформенная очередь таймера C ++? - PullRequest
3 голосов
/ 24 сентября 2008

То, что я ищу, - это простая очередь таймера, возможно, с внешним источником синхронизации и методом опроса (таким образом, это будет мультиплатформенным). Каждое сообщение в очереди может быть объектом, реализующим простой интерфейс с virtual onTimer() функцией-членом.

Ответы [ 3 ]

4 голосов
/ 24 сентября 2008

Boost::ASIO содержит реализацию асинхронного таймера. Это может сработать для вас.

2 голосов
/ 24 сентября 2008

В CodeProject есть хорошая статья, здесь , которая описывает различные таймеры, доступные в Windows, и имеет главы под названием «Таймеры очереди» и «Создайте свой собственный таймер».

Для независимости от платформы вам придется создавать реализации для разных платформ внутри пар #ifdef -- #endif. Я не вижу ничего менее уродливого, чем это.

0 голосов
/ 24 сентября 2008

Это не соответствует всем вашим критериям, но ... Я написал серию постов в блоге об очереди таймера для окон, которая реализована в терминах внешнего поставщика времени и опрашивается или управляется потоком. , Серия поставляется с исходным кодом и тестами, и целью было продемонстрировать тестирование достаточно сложного кода. В любом случае, вы можете использовать часть кода или идеи, если никто не придумал более подходящего варианта.

Статьи начинаются здесь: http://www.lenholgate.com/archives/000306.html

...