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

¿Fue útil?

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top