¿Existe una buena cola de temporizador C++ multiplataforma ligera?
Pregunta
Lo que estoy buscando es una cola de temporizador simple, posiblemente con una fuente de sincronización externa y un método de sondeo (de esta manera será multiplataforma).Cada mensaje en cola podría ser un objeto que implemente una interfaz simple con un virtual onTimer()
función miembro.
Solución
Boost::ASIO
contiene una implementación de temporizador asíncrono.Eso podría funcionar para usted.
Otros consejos
Hay un buen artículo en CodeProject, aquí, que describe los distintos temporizadores disponibles en Windows y tiene capítulos titulados "Temporizadores de cola" y "Crea tu propio temporizador".
Para la independencia de la plataforma, tendría que realizar implementaciones para las diferentes plataformas internas. #ifdef -- #endif
pares.No puedo ver nada menos feo que eso.
No se ajusta a todos tus criterios, pero...Escribí una serie de publicaciones de blog sobre una cola de temporizador para Windows que se implementa en términos de un proveedor de tiempo externo y que es encuestada o impulsada por un hilo.La serie viene con código fuente y pruebas y el objetivo era demostrar las pruebas de código razonablemente complejo.De todos modos, es posible que pueda utilizar parte del código o las ideas si a nadie se le ocurre una mejor opción.
Los artículos comienzan aquí: http://www.lenholgate.com/archives/000306.html