Valeurs par défaut pour System.Threading.ThreadPool.SetMaxThreads
Suppose, je n'ai pas mis toutes les valeurs explicitement par l'appel de la fonction:
System.Threading.ThreadPool.SetMaxThreads
Ce sont les valeurs par défaut?
source d'informationauteur Shamim Hafiz
Vous devez vous connecter pour publier un commentaire.
Il dépend de la .NET framework version, modifiée en 2.0, 3.0 et 4.0. Dans la 2.0 c'était 50 fois le nombre de cœurs. 3.0 (aka 2.0 SP1), il a été plus de 250 fois le nombre de cœurs, 4.0 rendu dynamique en fonction du nombre de bits et OS des ressources. Max I/O achèvement fils était toujours 1000 si je me souviens bien.
En général, il est incroyablement élevé et un programme devrait jamais s'en approcher. Sur une machine 32 bits, le programme est assez probable à la bombe avec OOM en premier lorsque tous les threads de consommer de la mémoire virtuelle disponible avec leur un mégaoctet de meules. En général, il ne peut sortir de la main quand il y a beaucoup de TP fil des demandes et l'exécution sont pas compléter pour minutes. L'idéal pour un TP thread est de ne pas prendre plus d'une demi-seconde.
Le Debug > Windows > les Fils fenêtre du débogueur dit la vérité désagréable. Et donne une très bonne idée de pourquoi ces TP les threads ne sont pas terminer, vous pouvez voir leur pile d'appel.
Il n'est pas un nombre fixe, il dépend de la mémoire disponible et d'autres facteurs, vous pouvez le trouver à l'exécution en utilisant
GetMaxThreads()