Entwickler-Ecke

Basistechnologien - Threadpool aktives warten im Haupthread?


BlackMatrix - Fr 21.05.10 00:36
Titel: Threadpool aktives warten im Haupthread?
Hi.

Ich rufe in meinem Threadpool eine Methode auf und es werden etwa 20 Threads erzeugt.

Nun will ich im Hauptthread aktiv darauf warten, dass alle fertig werden und das Programm danach beenden.


C#-Quelltext
1:
2:
3:
4:
foreach(string element in txt)
ThreadPool.QueueUserWorkItem(new WaitCallback(methode), element);

            while ([???]) Thread.Sleep(1000);


gfoidl - Fr 21.05.10 12:54

Hallo,

schau dir mal die WaitHandles an: AutoResetEvent und ManualResetEvent.


mfG Gü


Kha - Fr 21.05.10 13:00

Ab .NET 4 wäre Task.WaitAll zu empfehlen. Oder, wenn der Hauptthread gar nicht blockiert werden soll, Task.Factory.ContinueWhenAll.


BlackMatrix - Mo 24.05.10 17:51

Danke, habs hinbekommen :)