Udostępnij za pośrednictwem


ThreadPool.SetMaxThreads(Int32, Int32) Metoda

Definicja

Ustawia liczbę żądań do puli wątków, które mogą być aktywne współbieżnie. Wszystkie żądania powyżej tej liczby pozostają w kolejce, dopóki wątki puli wątków nie staną się dostępne.

public:
 static bool SetMaxThreads(int workerThreads, int completionPortThreads);
public static bool SetMaxThreads (int workerThreads, int completionPortThreads);
static member SetMaxThreads : int * int -> bool
Public Shared Function SetMaxThreads (workerThreads As Integer, completionPortThreads As Integer) As Boolean

Parametry

workerThreads
Int32

Maksymalna liczba wątków roboczych w puli wątków.

completionPortThreads
Int32

Maksymalna liczba asynchronicznych wątków we/wy w puli wątków.

Zwraca

true jeśli zmiana zakończy się pomyślnie; w przeciwnym razie , false.

Uwagi

Ta metoda nie jest obsługiwana, gdy pula wątków systemu Windows jest skonfigurowana do użycia zamiast puli wątków platformy .NET. Aby uzyskać więcej informacji, zobacz ustawienie konfiguracji puli wątków systemu Windows.

Nie można ustawić maksymalnej liczby wątków roboczych ani wątków uzupełniania we/wy na liczbę mniejszą niż liczba procesorów na komputerze. Aby określić liczbę procesorów, pobierz wartość Environment.ProcessorCount właściwości . Ponadto nie można ustawić maksymalnej liczby wątków roboczych ani wątków uzupełniania we/wy na liczbę mniejszą niż minimalna liczba wątków roboczych lub wątków uzupełniania we/wy. Aby określić minimalny rozmiar puli wątków, wywołaj metodę GetMinThreads .

Jeśli środowisko uruchomieniowe języka wspólnego jest hostowane, na przykład przez usługi Internet Information Services (IIS) lub program SQL Server, host może ograniczyć lub zapobiec zmianom rozmiaru puli wątków.

Zachowaj ostrożność podczas zmieniania maksymalnej liczby wątków w puli wątków. Chociaż kod może przynieść korzyści, zmiany mogą mieć negatywny wpływ na używane biblioteki kodu.

Ustawienie zbyt dużego rozmiaru puli wątków może spowodować problemy z wydajnością. Jeśli w tym samym czasie jest wykonywanych zbyt wiele wątków, obciążenie związane z przełączaniem zadań staje się istotnym czynnikiem.

Uwaga

Pula wątków może mieć górne limity maksymalnej liczby wątków (na przykład short.MaxValue, w zależności od implementacji). Wartości argumentów są ograniczone do górnego limitu, więc nawet jeśli metoda zwraca truewartość , rzeczywiste maksymalne liczby wątków mogą być niższe niż żądane.

Dotyczy

Zobacz też