Timer in C++



  • Hallo,

    ich habe da eine kleines Problem. Ich muss da ein Programm für Linux schreiben, was immer zu definierten Zeitabständen bestimmte Methoden ausführen soll. Also zum Beispiel soll alle 500ms eine Ausgabe getätigt werden.
    Ich habe bei den Kernelfunktionen schon nen Intervalltimer gefunden, der das bringen würde, aber leider ist der in C geschrieben und das einbinden ist nicht gerade sauber.

    Meine Frage an euch da drausen. Gibt es ne Bibliothek für C++ mit dem ich kontinuierliche Events für meine Klasse erzeugen lassen kann?



  • Du meinst mit Kernel-Funktion nicht den itimer, oder?

    Kennst Du man: nanosleep?



  • Moin,

    doch genau die meinte ich. In Java gibt es sowas, was ich suche. Wenn du da mit der Klasse Timer arbeitest, kannst du logischer weise einen Timer auf eine Zeitpunkt setzen und der ruft dann immer eine actionPreformed-Methode auf. Meine Gedanken war halt, wenn Java das kann dann kann C++ das schon lange.



  • C++ hat so etwas eben nicht in der Standard Library (die ja sehr minimal ist) und so musst du daher entweder auf die System-API zurückgreifen, die in C definiert ist oder Wrapper Libraries benutzen.

    Siehe man: setitimer(2)/man: sigaction(2)



  • Schade eigentlich. ich hab es jetzt mit dem Intervalltimer gelöst, aber es ist nicht so elegant wie ich es gerne hätte. naja, wat solls. Er tut es auf jedenfall.

    Vielen Dank für eure mühe.


Anmelden zum Antworten