ThreadPool.SetMaxThreads(Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví počet požadavků na fond vláken, které mohou být současně aktivní. Všechny požadavky nad tímto číslem zůstávají ve frontě, dokud nebudou dostupná 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
true
pokud 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 nakonfigurován tak, aby se používal místo fondu vláken .NET. Další informace najdete v nastavení konfigurace fondu vláken Windows.
Maximální počet pracovních vláken nebo vláken dokončení vstupně-výstupních operací nelze nastavit na číslo menší, než je počet procesorů v počítači. Pokud chcete zjistit, kolik procesorů je k dispozici, načtěte hodnotu Environment.ProcessorCount vlastnosti. Kromě toho nelze nastavit maximální počet pracovních vláken nebo vláken dokončení vstupně-výstupních operací na číslo menší, než je odpovídající minimální počet pracovních vláken nebo vláken dokončení vstupně-výstupních operací. Pokud chcete zjistit minimální velikost fondu vláken, zavolejte metodu GetMinThreads .
Pokud je modul CLR (Common Language Runtime) hostovaný například Internetovou informační službou (IIS) 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 postupujte opatrně. I když váš kód může být přínosný, změny můžou mít 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ě spouští příliš mnoho vláken, stává se důležitým faktorem režie přepínání úloh.
Poznámka
Fond vláken může mít horní omezení maximálního počtu vláken (například short.MaxValue
, v 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ž je požadováno.