El número correcto es obviamente 42.
Ahora en la nota seria. Solo usa el grupo de subprocesos, siempre.
1) Si usted tiene una larga procesamiento tarea (es decir. CPU) que puede ser dividida en varias comidas pieza de trabajo, entonces debería particionar su tarea y presentar todos los elementos de trabajo individuales a la ThreadPool. El grupo de subprocesos recogerá los elementos de trabajo y comenzará a producirlos de forma dinámica, ya que tiene capacidades de autocontrol que incluyen iniciar nuevos subprocesos según sea necesario y pueden ser configured at deployment by administrators according to the deployment site requirements, en lugar de precalcular los números en el momento del desarrollo. Si bien es cierto que el tamaño de partición adecuado de su tarea de procesamiento puede tener en cuenta la cantidad de CPU disponibles, la respuesta correcta depende tanto de la naturaleza de la tarea y de los datos que ni siquiera vale la pena mencionar en esta etapa (y además las principales preocupaciones deberían ser su NUMA nodes, localidad de memoria y contención de caché interbloqueada, y solo después de eso, la cantidad de núcleos).
2) Si está realizando E/S (incluidas las llamadas a bases de datos), entonces debe usar E/S asincrónica y completar las llamadas en ThreadPool denominadas rutinas de finalización.
Estas dos son las únicas razones válidas por las que debe tener varios subprocesos, y ambos se manejan mejor con el ThreadPool. Cualquier otra cosa, incluido el inicio de un hilo por 'solicitud' o 'conexión', es de hecho anti patrones en el mundo API de Win32 (fork es un patrón válido en * nix, pero definitivamente no en Windows).
Para una más especializada y forma, la discusión de forma más detallada del tema sólo puedo recomendar los papeles Rick Vicik sobre el tema:
El número "óptimo" no es necesariamente la cantidad de procesadores que tiene. Se basa en eso, pero dependiendo de lo que esté haciendo, los hilos no siempre se procesarán, por lo tanto, tener más hilos que procesadores suele ser más eficiente. –