Udostępnij za pośrednictwem


ParallelOptions.MaxDegreeOfParallelism Właściwość

Definicja

Pobiera lub ustawia maksymalną liczbę współbieżnych zadań włączonych przez to ParallelOptions wystąpienie.

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

Wartość właściwości

Liczba całkowita reprezentująca maksymalny stopień równoległości.

Wyjątki

Właściwość jest ustawiana na zero lub na wartość mniejszą niż -1.

Uwagi

Właściwość MaxDegreeOfParallelism ma wpływ na liczbę współbieżnych operacji uruchamianych według Parallel wywołań metody, które są przekazywane w tym ParallelOptions wystąpieniu. Wartość właściwości dodatniej ogranicza liczbę operacji współbieżnych do wartości ustawionej. Jeśli jest to wartość -1, nie ma limitu liczby równoczesnych uruchomionych operacji (z wyjątkiem ForEachAsync metody, gdzie -1 oznacza ProcessorCount).

Domyślnie For i ForEach będzie korzystać z wielu wątków, które zapewnia bazowy harmonogram, więc zmiana MaxDegreeOfParallelism z domyślnych ogranicza tylko liczbę współbieżnych zadań.

Ogólnie rzecz biorąc, nie trzeba modyfikować tego ustawienia. Można jednak jawnie ustawić ją w zaawansowanych scenariuszach użycia, takich jak:

  • Gdy wiesz, że określony algorytm, którego używasz, nie będzie skalowany poza określoną liczbę rdzeni. Właściwość można ustawić, aby uniknąć marnowania cykli na dodatkowych rdzeniach.

  • Gdy uruchamiasz wiele algorytmów jednocześnie i chcesz ręcznie zdefiniować, ile systemu może wykorzystać każdy algorytm. Dla każdej z nich można ustawić MaxDegreeOfParallelism wartość.

  • Gdy heurystyka puli wątków nie może określić odpowiedniej liczby wątków do użycia i może skończyć się wstrzykiwaniem zbyt wielu wątków. Na przykład w przypadku iteracji treści pętli długotrwałej pula wątków może nie być w stanie określić różnicy między rozsądnym postępem, blokadą lub zakleszczeniem, a może nie być w stanie odzyskać wątków, które zostały dodane w celu zwiększenia wydajności. W takim przypadku można ustawić właściwość, aby upewnić się, że nie używasz więcej niż rozsądnej liczby wątków.

Dotyczy