Question

Je veux appeler une fonction de la classe d'affaires après toutes les 2 heures. Je ne reçois pas un moyen de mettre en œuvre même en C / C ++ sans utiliser une boucle while. Mon problème est que je ne peux pas utiliser tout (1), car cela ne Retun pas reprendre le contrôle de l'exécution ultérieure.

Tout pointeur dans ce qui concerne wud être utile .... :)

thnaks

Était-ce utile?

La solution

Je aurait envisagé d'utiliser les fonctions de alarm(2) ou setitimer(2) En C plaine,. Vous pouvez également frayer un fil et faire l'attente de là.

Si vous décidez de l'alarme ou des routes setitimer, gardez à l'esprit que vous aurez besoin d'écrire les gestionnaires de signaux et peuvent avoir besoin d'une boucle d'expédition de noter qu'il est temps de faire les appels d'entretien périodique, car il est considéré comme une mauvaise pratique faire pas mal de choses à partir d'un gestionnaire de signal.

Autres conseils

Pour une solution générale, vous pourriez commencer un fil, qui envoie un certain message au thread principal au bout de 2 heures.

Pour linux, vous pouvez utiliser ceci:

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

, puis traiter le signal de SIGALRM

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top