AW: TThread, TTask usw. oder OmniThreadLibrary?
19. Okt 2017, 12:55
Genau wegen des Multithreading habe ich gerade nämlich Probleme. Daher dachte ich OTL kann mir helfen?
- Button-Klick
-- repeat-Schleife 0 bis ListView-Items-Select-Count
--- Mache XY mit Daten Listview-Eintrag-N
---- Erstelle Threads (mehrere) für Arbeit XY
---- solange XY läuft, warte mit einer while-Schleife (!)
---- Wenn XY fertig, führe ein paar Prozeduren aus, um aufzuräumen
-- Arbeit fertig, zurück in repeat-until
- gehe wieder nach oben und fange erneut an
Nachdem ich alle Threads erstellt habe, muss ich ja irgendwie auf deren Beendigung warten und lauschen. Das mache ich aktuell mit einer while-Schleife.
Ich inkrementiere eine Variable bei jedem Erzeugen eines Threads. Wenn ein Thread sich beendet, wird diese Variable dekrementiert.
Die while-Schleife lauscht nun, bis die Variable = 0 ist. Erst dann werden weitere Prozeduren zum Aufräumen gestartet. Sind die durch, fängt der Spaß erneut an.
Kann ich hier nicht mit Messages arbeiten, damit zumindest schon einmal die while-Schleife wegbekomme?
Ich bin aktuell in der Lage zu sehen, welcher Thread der letzte Thread ist. Der könnte doch eine Message irgendwohin schicken?
Nur wie warte ich dann in der repeat-until-Schleife?
|