cómo implementar temporizador en C / C ++
Pregunta
Quiero llamar a una función de la clase de negocios después de cada 2 horas. I m no conseguir cualquier forma de implementar misma en C / C ++ sin utilizar un bucle while. Mi problema es que no puedo utilizar while (1), ya que no retun recuperar el control para su posterior ejecución.
Cualquier puntero en este respecto se nos harán muy útil .... :)
thnaks
Solución
En la llanura C, habría considerado el uso de las funciones alarm(2)
o setitimer(2)
. Alternativamente, generará un subproceso y hacer la espera de allí.
Si se decide por la alarma o rutas setitimer, tenga en cuenta que tendrá que escribir controladores de señal y puede necesitar un loop de despacho a la nota que es el momento de hacer las llamadas de mantenimiento periódico, ya que se considera mala práctica hacer bastantes cosas desde un controlador de señales.
Otros consejos
Boost.Asio proporciona Temporizadores .
Para una solución general, se puede iniciar un hilo, que envía algún mensaje al hilo principal después de 2 horas.
Para Linux, se puede usar esto:
http://linux.die.net/man/3/alarm
y luego manejar la señal SIGALRM