Sdílet prostřednictvím


ParallelOptions.MaxDegreeOfParallelism Vlastnost

Definice

Získá nebo nastaví maximální počet souběžných úloh povolených touto ParallelOptions instancí.

public:
 property int MaxDegreeOfParallelism { int get(); void set(int value); };
public int MaxDegreeOfParallelism { get; set; }
member this.MaxDegreeOfParallelism : int with get, set
Public Property MaxDegreeOfParallelism As Integer

Hodnota vlastnosti

Celé číslo, které představuje maximální stupeň paralelismu.

Výjimky

Vlastnost je nastavena na nulu nebo na hodnotu, která je menší než -1.

Poznámky

Vlastnost MaxDegreeOfParallelism ovlivňuje počet souběžných operací spuštěných voláními Parallel metody, které jsou předány této ParallelOptions instanci. Kladná hodnota vlastnosti omezuje počet souběžných operací na nastavenou hodnotu. Pokud je hodnota -1, neexistuje žádné omezení počtu souběžně spuštěných operací (s výjimkou ForEachAsync metody, kde -1 znamená ProcessorCount).

Ve výchozím nastavení a ForEach bude využívat libovolný počet vláken, For které podkladový plánovač poskytuje, takže změna MaxDegreeOfParallelism z výchozího nastavení omezuje pouze počet souběžných úloh, které se budou používat.

Obecně platí, že toto nastavení nemusíte měnit. Můžete se ale rozhodnout ji explicitně nastavit v pokročilých scénářích použití, jako jsou tyto:

  • Když víte, že konkrétní algoritmus, který používáte, se nebude škálovat nad rámec určitého počtu jader. Vlastnost můžete nastavit tak, aby nedocházelo k plýtvání cykly u dalších jader.

  • Když spouštíte více algoritmů současně a chcete ručně definovat, kolik systému může každý algoritmus využívat. Pro každou z nich můžete nastavit MaxDegreeOfParallelism hodnotu.

  • Když heuristika fondu vláken nedokáže určit správný počet vláken, která se mají použít, a může nakonec vkládat příliš mnoho vláken. Například při dlouhotrvajících iteracích textu smyčky nemusí fond vláken rozpoznat rozdíl mezi přiměřeným průběhem, živým zablokováním nebo vzájemným zablokováním a nemusí být schopen uvolnit vlákna přidaná za účelem zvýšení výkonu. V takovém případě můžete vlastnost nastavit tak, aby se zajistilo, že nebudete používat více než přiměřený počet vláken.

Platí pro