wie Timer in C / C ++ implementieren
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
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
Boost.Asio bietet Timer .
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