Einzelnen Beitrag anzeigen

Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Funktionsweise Thread.WaitFor

  Alt 11. Jan 2021, 13:15
Ich hole diesen etwas betagten Thread noch mal hoch, weil:
Prinzipiell selbes Prob, nur hab ich ges. 5 Threads, auf dessen Erledigung ich warte und die weitere Prorammausführung davon abhängt, wer wann fertig ist.

Ablauf in etwa so:
- Zum Prog-Begin starten 3 Threads um Daten zu lesen & zu evaluieren.
(Kann im worst-case bis zu 10 Sekunden dauern !)
- Proggie soll derweil weiter initialisieren, die GUI aufbauen, den User grüßen, usw.

Warte-Punkt 1)
Thread-1 kann, muss aber noch nicht bis dahin fertig sein - d.h. auf den MUSS gewartet werden, weil alles weitere von dessen Daten abhängt.
Wenn fertig, erfolgen ab hier weiter GUI-Init's und 2 weitere Threads starten

Warte-Punkt 2)
Wie unter 1, Thread-2 fertig ? Wobei hier datenabhgig eine Meldgugng angzeigt und entspechend reagiert werden muss.

Warte Punkt-3)
Das warten auf Thread-3 ist nicht zwingend zeitrelevant (und dauert i.d.R. ach am längsten),
es wäre jedoch "nice to have" umgehend nach dessen Ende eine weitere Meldng zu zeigen und das Display mit neuen Daten upzudaten.


Meine Idee:
Wenn hier jeder Thread seinen eigenen Event nach Ablauf feuert, wie kann ich da in der Main-Form darauf reagieren ? (Hier spez. Thread 1 + 2 in einer Loop)
Get das evtl. mit "WaitForSingleObject" ?

Für Thread-3 könnte ich auch gut mit einer CallBack-procedure leben.

Wichtig ist allgemein, dass das Proggie nicht bei Fehlern oder langen Lesezeiten hängt und weiter bedienbar ist.
  Mit Zitat antworten Zitat