Domanda

voglio chiamare una funzione della classe di attività dopo ogni 2 ore. Io non ricevo alcun modo per implementare lo stesso in C / C ++ senza utilizzare un ciclo while. Il mio problema è che non posso usare while (1) in cui ciò non Retun il regolatore per l'ulteriore esecuzione.

Ogni puntatore in questa materia wud essere utile .... :)

thnaks

È stato utile?

Soluzione

In parole povere C, avrei pensato di utilizzare le funzioni alarm(2) o setitimer(2). In alternativa, genera un thread ed eseguire l'attesa da lì.

Se si decide l'allarme o delle vie setitimer, tenere a mente che avrete bisogno di scrivere gestori di segnale e potrebbe essere necessario un ciclo spedizione verso nota che è il momento di fare le chiamate di manutenzione periodica, in quanto è considerato cattiva pratica di fare alcune cose dall'interno di un gestore di segnale.

Altri suggerimenti

Per una soluzione generale, si potrebbe avviare un thread, che invia qualche messaggio al thread principale dopo 2 ore.

Per Linux, è possibile utilizzare questo:

http://linux.die.net/man/3/alarm

e quindi gestire il segnale SIGALRM

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top