Entwickler-Ecke
Basistechnologien - Threadpool beenden/freigeben?
BlackMatrix - So 02.05.10 13:22
Titel: Threadpool beenden/freigeben?
Hi.
Folgendes Codebeispiel:
C#-Quelltext
1: 2: 3: 4:
| foreach (string user in users) ThreadPool.QueueUserWorkItem(aufruf, user);
Thread.Sleep(zeit); |
Nun soll nach der Wartezeit der ganze Threadpool beendet werden, egal wie weit die Threads gekommen sind. Wie ist das möglich?
Kha - So 02.05.10 13:34
Thread.Abort kannst du nur mit eigenen Threads benutzen. Berechnungen irgendwo mittendrin abbrechen zu lassen ist aber sowieso relativ gefährlich, deswegen wurde mit dem PFX aus .NET 4 CancellationToken eingeführt. Auch ohne .NET 4 würde ich eher ein cancel-Flag periodisch überprüfen und dann ggf. die Berechnung kontrolliert abbrechen.
BlackMatrix - So 02.05.10 13:53
Okay, vielen Dank. Wobei ich sagen muss, dass die Methode nur nebensächliches Zeugs erledigt und von mir aus aus gerne abgebrochen werden können, solange das Programm stabil bleibt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!