Сколько потоков создаст Parallel.For (Foreach)? MaxDegreeOfParallelism по умолчанию?

Я хочу знать, сколько потоков будет использовано при запуске цикла Parallel.For / ForEach.

Я обнаружил, что это можно изменить с помощью параметра MaxDegreeOfParallelism.

Справка по MaxDegreeOfParallelism в MSDN говорит (ссылка на сайт):

По умолчанию For и ForEach будут использовать столько потоков, сколько обеспечивает базовый планировщик, поэтому изменение MaxDegreeOfParallelism по умолчанию ограничивает только количество одновременных задач.

Но я нене знаю, сколько потоков обеспечивает планировщик.

Как я могу это узнать?

Я мог бы проверить это с циклом с 9999999 прогонов, однако этот тест покажет мне число, но не правило, которое определяет это число.

Редактировать / добавить позже:

Я погуглилSheduler Max Concurrency "и нашел (на MSDN -ссылка на сайт), тотTashSheduler класс имеетMaximumConcurrencyLevel собственность и:

Возвращает целое число, представляющее максимальный уровень параллелизма. Планировщик по умолчанию возвращает Int32.MaxValue.

Этот класс TaskSheduler используется какосновной планировщик для этих параллельных циклов?

Ответы на вопрос(1)

Ваш ответ на вопрос