Frage

Ich möchte nach all 2 Stunden eine Funktion der Business-Klasse nennen. Ich bin keine Möglichkeit bekommen in C / C ++ gleiche zu implementieren, ohne eine while-Schleife zu verwenden. Mein Problem ist, dass ich nicht while (1) verwenden, da dies die Steuerung für die weitere Ausführung nicht retun zurück.

Jeder Zeiger in dieser Hinsicht wud hilfreich sein .... :)

thnaks

War es hilfreich?

Lösung

Im Klar C, würde ich in Betracht gezogen habe die alarm(2) oder setitimer(2) Funktionen. Alternativ können Sie einen Thread erzeugen und die Warte von dort tun.

Wenn Sie sich entscheiden, den Alarm oder setitimer Routen, denken Sie daran, dass Sie Signal-Handler müssen schreiben und kann eine Dispatch-Schleife zur Kenntnis benötigen, dass es Zeit ist, die regelmäßige Wartung Anrufe zu tun, da es schlechte Praxis betrachtet ist zu tut schon einige Dinge aus einem Signal-Handler.

Andere Tipps

Für eine allgemeine Lösung, könnten Sie einen Thread starten, die nach 2 Stunden eine Nachricht an den Haupt-Thread sendet.

Für Linux, könnten Sie verwenden:

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

und dann behandeln Sie das SIGALRM Signal

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top