RE: Erzeuger/Verbraucher
Hier bestätigt sich, wichtig die Befolgung des Rates gewesen wäre, die Funktionsweise von Queues erst mal verstehen zu lernen.
Das vorgeschlagene Warten in der Empfangsschleife hört sich gut an - nur hast Du dabei die Eigenschaften der Queue nicht beachtet. Bei Aufruf von "Element aus Queue entfernen" wird nicht etwa die Queue geleert, sondern ledigich ein einziges Element entfernt. Wenn also der Erzeugern alls 20 ms einen neuen Wert in die Queue schmeisst, und die Empfangsseite nur alle 500ms einen Wert abholt, sind zunehmender Zeitverzug und schließlicher Pufferüberlauf vorprogrammiert.
Falls Du wirklich Probleme hast mit Ausführungszeit und zu hoher CPU-Auslastung, dann bestimmt nicht dadurch, dass alle 20ms ein einzelner Datenpunkt abgeholt und dargestellt wird. Die kritische Stelle liegt vermutlich wo ganz anders, aber dazu müsste man das genze Programm kennen.
|