2016-06-13 10 views
1

Wo und wie Sie durch Codenummer der Threads in Threadpool überprüfen.Überprüfen Sie die Anzahl der in ThreadPool verfügbaren Threads zu jeder Zeit

Was ich will ist: Zum Beispiel, wenn keine der Threads im Threadpool 10 sind, dann sollte ich nicht mehr als 3 Threads sagen. Sobald ein vorhandener Thread frei wird, sollte ich eine neue Aufgabe starten, wobei die maximale Anzahl 3 beibehalten wird.

+6

Diese Verwaltung ist bereits durch den Thread-Pool erfolgt. Es startet und stoppt neue Threads nach Bedarf und verwendet eine Rückkopplungsschleife. Starten Sie Aufgaben einfach, wenn sie benötigt werden, und lassen Sie den Thread-Pool sich um die Planung kümmern, das ist seine Aufgabe. –

+0

Warum willst du * "max 3" halten? Ist es eine [Anforderung] (http://stackoverflow.com/a/10343983/1997232) oder [vorzeitige Optimierung] (http://stackoverflow.com/a/385529/1997232)? – Sinatr

+0

Ich bin mir nicht sicher über die CPU-Anzahl auf dem Produktionsserver. Also eine Art vorzeitige Optimierung von meiner Seite. 3 ist nicht die genaue Anzahl. Basierend auf mehr Details kann ich es zu 4 oder 6 oder 2 ändern. – dotnetavalanche

Antwort

3

ThreadPool.GetAvailableThreads gibt Ihnen die Anzahl der verfügbaren Threads. ThreadPool.GetMaxThreads gibt Ihnen die maximale Anzahl von Threads. Der Unterschied gibt Ihnen die Anzahl der aktiven Threads.

Verwandte Themen