Tiré de la documentation Microsoft:Pourquoi ThreadPool a 250 threads de travail par processeur par défaut?
Par défaut, le pool de threads a 250 threads de travail par processeur disponible. Vous pouvez modifier ce paramètre à l'aide de la méthode ThreadPool.SetMaxThreads.
Il est également dit, comme il est bien connu, qu'il ya certains frais généraux:
threads ont un certain niveau de frais généraux. Par conséquent, si un ordinateur a plusieurs processeurs et que vous divisez le traitement en deux threads, vous ne verrez pas une amélioration de 100% des performances .
Sur une certaine expérience et plus de deviner, je l'aurais eu quelque chose comme 1 à 4 threads par processeur, et non ! Est-ce que quelqu'un sait pourquoi 250? Est-ce une valeur qui est censé donner meilleure performance globale, ou est-il afin d'avoir à peu près toutes les tâches que vous donnez à ce pool de threads traitées sans attendre pour d'autres tâches à terminer?
Je pense préférable de demander à @serverfault – ckv