Zitat von
Graffi:
- Anwendung 1 schreibt alle 500ms in das Textfile (max. 20 Zeilen)
- Anwendung 2 liest alle 510 ms das Textfile
Das ist nicht sehr schlau gelöst.
a) Timer laufen nicht genau und auch nicht verlässlich. Es ist vorgegeben, dass der Timer dann frühestens alle 500 ms ausgelöst wird, es können aber auch mal 800 ms oder 1200 ms sein, wobei es nie 400 ms sein werden.
b) Anwendung2 überhplt irgendwann Anwendung1. Dann wird ein Zyklus nicht gelesen, sondern übersprungen.
Als Lösung würde ich NamedPipes vorschlagen.
Da kann Anwendung2 warten, bis Daten ankommen und diese dann auslesen.
Vorteile:
- nur ein Timer, diesen vielleicht noch durch Delay ersetzen
- Anwendung1 bekommt die volle Steuerung
- Anwendung2 muss nur reagieren, wenn wirklich Daten kommen
Überdenke also das Software-Design nochmal.
Man kann alles irgendwie besser lösen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.