Sdílet prostřednictvím


ThreadPool.SetMaxThreads(Int32, Int32) Metoda

Definice

Nastaví počet požadavků na fond vláken, který může být současně aktivní. Všechny požadavky nad tímto číslem zůstanou ve frontě, dokud nebudou k dispozici vlákna fondu vláken.

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

Maximální počet pracovních vláken ve fondu vláken.

completionPortThreads
Int32

Maximální počet asynchronních vstupně-výstupních vláken ve fondu vláken.

Návraty

truepokud je změna úspěšná; v opačném případě . false

Poznámky

Tato metoda není podporována, pokud je fond vláken Systému Windows nakonfigurovaný tak, aby se používal místo fondu vláken .NET. Další informace naleznete v nastavení konfigurace fondu vláken systému Windows.

Maximální počet pracovních vláken nebo vstupně-výstupních vláken dokončení nelze nastavit na menší počet než počet procesorů v počítači. Chcete-li zjistit, kolik procesorů je přítomno, načtěte hodnotu Environment.ProcessorCount vlastnosti. Kromě toho nelze nastavit maximální počet pracovních vláken nebo vstupně-výstupních vláken dokončení na číslo menší než odpovídající minimální počet pracovních vláken nebo vstupně-výstupních vláken dokončení. Chcete-li určit minimální velikost fondu vláken, zavolejte metodu GetMinThreads .

Pokud je modul CLR (Common Language Runtime) hostovaný například službou IIS (Internet Information Services) nebo SQL Serverem, může hostitel omezit nebo zabránit změnám velikosti fondu vláken.

Při změně maximálního počtu vláken ve fondu vláken buďte opatrní. I když může mít váš kód výhodu, můžou mít změny nepříznivý vliv na knihovny kódu, které používáte.

Nastavení příliš velké velikosti fondu vláken může způsobit problémy s výkonem. Pokud se současně provádí příliš mnoho vláken, stává se režie přepínání úloh významným faktorem.

Poznámka:

Fond vláken může mít horní omezení maximálního počtu vláken (například short.MaxValuev závislosti na implementaci). Hodnoty argumentů jsou omezeny na horní limit, takže i když metoda vrátí true, skutečný maximální počet vláken může být nižší než požadovaný.

Platí pro

Viz také