Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datenübergabe aus Thread in MainForm

  Alt 10. Okt 2022, 22:14
Zitat:
Es auf 1 Sekunde zu verlängern bringt auch nix, dann braucht er 10 mal so lang zum verarbeiten der Daten.
Da has du doch schon das eigentliche Problem?

Die Arbeit im Hauptthread muß weniger sein, als wie die Zeit bis zu den nächsten Daten.


entweder die Arbeit beschleunigen,
oder weniger Daten senden

oder z.B. statt Array eine threadsave Queue/Liste, wo sich der Hauptthread so schnell/langsam Daten raus holt, wie er kann
und das Mehr an Daten drin bleibt, bis er Zeit hat.
Das geht natürlich nur um "Spitzen" abzufangen oder später nachzuarbeiten, aber insgesamt weniger Daten eintreffen, als über die ganze Zeit maximal verarbeitet werden kann.
bzw. wenn es irgendwann reicht, nachdem der Thread mal fertig ist und danach der Hauptthread das dann in Ruhe fertig machen kann.





Ich hab mich grade realtime in Windows-Event-Tracing reingehängt
und für die ersten Versuche einfach nur aus dem Thread in ein Memo geschrieben ... nach ner gewissen kurzen Zeit passiert es dann immer wieder, das Alles hängt und mir Events verloren gehen, weil der Lese-Thread ebenfalls zum Stocken kommt.

Ich könnte zwar auch auf LogFile(s) umstellen, aber das verursacht wieder andere Probleme (z.B. das FestplattenLog loggt sich selber)
Nja, im Grunde hab ich mir jetzt eine Queue-ListeArray gebastelt, weil bei der Menge an Durchsatz die bestehenden Listen wieder ihre Problme haben. (Speichermanagement und zu häufiges Umkopieren)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat