auf Toggle eines Wertes reagieren



  • Hallo,

    ich habe einen bool Wert, der in einer shared memory steht. Irgendwann wann beginnt der Wert an zu togglen (von einem anderen Prozess getriggert), d.h. er ändert sich alle 200ms (200ms+x da kein Echtzeitsystem). Wenn er anfängt zu togglen möchte ich eine Aktion machen und wenn er aufhört zu togglen möchte ich auch eine Aktion machen. Wie würdet ihr soetwas implementieren?
    Den Wert zu beobachten und zu schauen ob er sich innerhalb eines bestimmten Zeitrahmens finde ich "unschön" weil man das signal nicht richtig abtasten kann. Oder irre ich mich? Habt jemand eine schlaue Idee?

    Grüße
    Ralph



  • Evtl hilft ein Observer Pattern?



  • Interessante Frage...

    Zeus schrieb:

    Evtl hilft ein Observer Pattern?

    Ich glaube da wirst du Probleme mit dem Speicherzugriff kriegen.
    Beim ändern des Wertes möchtest du ja registrierte Listener aufrufen, wenn
    ich das richtig verstehe. Jedoch werden die Listener auf einen Speicherbereich
    des anderen Prozesses verweisen. Beim Zugriff auf diesen Speicherbereich
    sollte der ändernde Prozess einen Speicherzugriffsfehler kriegen.



  • Sowas kann man z.B. machen, in dem man in einem Thread mit einer Conditionvariable auf die Änderung des Wertes wartet. Sowas geht z.B. mit boost.thread. Wenn Du das nicht benutzen kannst/darfst, musst Du gucken, welche Möglichkeiten Deine Plattform bietet, um Conditionvariablen zu realisieren.


Anmelden zum Antworten