Ile wątków Równoległych. Dla (Foreach) stworzy? Domyślnie MaxDegreeOfParallelism?

Chcę wiedzieć, ile wątków zostanie użytych podczas uruchamiania pętli Parallel.For / ForEach.

Odkryłem, że można go zmienić za pomocą opcji MaxDegreeOfParallelism.

Pomoc MaxDegreeOfParallelism w MSDN mówi (połączyć):

Domyślnie, For i ForEach wykorzystają jednak wiele wątków udostępnianych przez podstawowy program planujący, więc zmiana MaxDegreeOfParallelism z domyślnego ogranicza tylko liczbę jednoczesnych zadań, które zostaną użyte.

Ale nie wiem, ile wątków zapewnia program planujący.

Jak mogę się tego dowiedzieć?

Mogłem przetestować go za pomocą pętli z uruchomieniami 9999999, jednak ten test pokaże mi liczbę, ale nie regułę określającą tę liczbę.

Edytuj / dodano później:

Wyszukałem hasło „współbieżność maks. Sheduler” i znalazłem (w witrynie MSDN -połączyć), toTashSheduler klasa maMaximumConcurrencyLevel własność i:

Zwraca liczbę całkowitą reprezentującą maksymalny poziom współbieżności. Domyślny program planujący zwraca Int32.MaxValue.

Ta klasa TaskSheduler jest używana jako „podstawowy harmonogram” dla tych równoległych pętli?

questionAnswers(1)

yourAnswerToTheQuestion