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ż odpowiadająca 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 SQL Server, host może ograniczyć lub zapobiec zmianom rozmiaru puli wątków.

Należy zachować 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 powodować problemy z wydajnością. Jeśli zbyt wiele wątków wykonuje w tym samym czasie, 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ść , rzeczywista maksymalna liczba wątków może być niższa niż żądana.

Dotyczy

Zobacz też