Forums Neueste Beiträge
 

Auf Threads warten

05/08/2008 - 17:07 von Karsten Jung | Report spam
Hallo zusammen,

ich hab' eine Anwendung, die drei Aufgaben parallel ausführen soll.
Diese Aufgaben sind unabhàngig von einander und tauschen auch keine
Daten aus.

Jede Aufgabe soll in einem extra Thread laufen.

Nach dem Start der 3 Threads möchte ich aber mit der
Weiterverarbeitung so lange warten, bis alle 3 Threads fertig sind.
(Will einfach Ausführungszeit sparen :-) )

Habt ihr dafür eine elegante Lösung / Idee?

Danke

Karten

PS: .NET 3.5 / VS 2008
 

Lesen sie die antworten

#1 Thomas Scheidegger
05/08/2008 - 17:30 | Warnen spam
Hallo Karsten


Jede Aufgabe soll in einem extra Thread laufen.
Nach dem Start der 3 Threads möchte ich aber mit der
Weiterverarbeitung so lange warten, bis alle 3 Threads fertig sind.




falls dieser Wartevorgang in einem non-GUI-Thread ist, dann nur zB:
3x ManualResetEvent & WaitHandle.WaitAll
'blockierend'.

Aber falls GUI-Thread, dann darf keine blockiernde Warte-Methode genutzt
werden,
sondern typ. auch über das allseits bekannte Muster,
am Thread-Ende (bzw wenn alle 3 ende) Aufruf von:
Control.Invoke / BeginInvoke
bzw
falls mit BackgroundWorker dann etwa:
BackgroundWorker.RunWorkerCompleted
und etwas Buchführung (bis alle 3 zuende, zB via Thread.ThreadState).




Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/

Ähnliche fragen