Combien de threads Parallel.For (Foreach) va créer? MaxDegreeOfParallelism par défaut?

Je veux savoir, combien de threads sera utilisé lors de la marche en Parallèle.Pour/boucle ForEach.

J'ai trouvé, qu'il peut être modifié par MaxDegreeOfParallelism option.

MaxDegreeOfParallelism de l'aide sur MSDN dit (lien):

Par défaut, For et ForEach utilisera cependant nombre de threads que le
planificateur sous-jacent fournit, par conséquent, la modification de MaxDegreeOfParallelism
la valeur par défaut seulement limite le nombre de tâches simultanées seront utilisés.

Mais je ne sais pas combien de fils planificateur sous-jacent fournit.

Comment puis-je trouver cela?

J'ai pu le tester avec boucle à 9999999 fonctionne, cependant, ce test va me montrer le nombre, mais non pas à la règle que de déterminer ce nombre.

Modifier/ajouté plus tard:

J'ai googlé pour "sheduler max simultanéité", et j'ai trouvé (sur le site MSDN - lien), qui TashSheduler classe a MaximumConcurrencyLevel de la propriété, et:

Renvoie un entier qui représente le maximum niveau de simultanéité. L'
par défaut planificateur retourne Int32.MaxValue.

Que TaskSheduler classe est utilisé comme "planificateur sous-jacent" pour ces boucles parallèles?

source d'informationauteur Kamil