¿Cuál es la relación y la diferencia entre subprocesos múltiples y computación paralela?
El paralelismo consiste en descomponer el problema y entregarlo a diferentes núcleos de CPU para su procesamiento.
El subproceso múltiple es en serie y utiliza división de tiempo.
Obviamente, el paralelismo tiene una mayor utilización de la CPU que el subproceso múltiple, por lo que es relativamente más eficiente. De MSDN: (TPL - Biblioteca paralela de tareas)
La TPL escala el grado de concurrencia dinámicamente para utilizar de manera más eficiente todos los procesadores que están disponibles. Además, la TPL maneja la partición del trabajo y la programación. de subprocesos en ThreadPool, soporte de cancelación, administración de estado y otros detalles de bajo nivel. Al usar TPL, puede maximizar el rendimiento de su código mientras se concentra en el trabajo para el que está diseñado su programa.
Como se puede ver en la explicación de MSDN, TPL también incluye el proceso de asignación de tareas a múltiples subprocesos, pero tiene más detalles que MT, como descomposición del trabajo, gestión de estado, mecanismo de cancelación y más detalles de bajo nivel, estas son cosas ese simple subproceso múltiple no puede funcionar (a menos que implemente este conjunto de cosas similares usted mismo).