tipos tiene tener sirven significa saber que puede procesadores procesador para nucleos nucleo multi los hilos cuantos como performance multithreading

performance - tiene - MĂșltiples hilos y rendimiento en una sola CPU



que significa multi hilos en procesadores (6)

Puede considerar usar multihilo en una sola CPU

  1. Si usa recursos de red
  2. Si realiza operaciones IO altamente intensivas
  3. Si extraes datos de una base de datos
  4. Si explotas otras cosas con posibles retrasos
  5. Si quieres hacer tu aplicación con una reacción ultraspeed

Cuando no deberías usar multihilo en una sola CPU

  1. Operaciones altamente intensivas que consumen casi el 100% de la CPU
  2. Si no está seguro de cómo usar los hilos y la sincronización
  3. Si su aplicación no se puede dividir en varios procesos paralelos

¿Hay algún beneficio de rendimiento al usar múltiples hilos en una computadora con una sola CPU que no tiene hyperthreading?


En términos de velocidad de cálculo, No. De hecho, las cosas se ralentizarán debido a la sobrecarga de administrar los hilos.

En términos de receptividad, sí. Por ejemplo, puede esperar un hilo en una operación IO y hacer que otro ejecute una GUI al mismo tiempo.


Independientemente de la cantidad de CPU disponibles, si necesita multitareas preventivas y / o aplicaciones con componentes asíncronos (es decir, casi cualquier cosa que combine una GUI sensible con una cantidad de computación no trivial o procesamiento continuo de E / S), multihilo funciona mucho mejor que la alternativa, que es usar procesos múltiples para cada aplicación.

Esto se debe a que los hilos en el mismo proceso pueden intercambiar datos mucho más eficientemente que múltiples procesos, porque comparten el mismo contexto de memoria.

Vea este artículo de Wikipedia sobre la multitarea de la computadora para una discusión bastante concisa de estos temas.


Depende de su aplicación. Si pasa todo el tiempo usando la CPU, entonces el multihilo simplemente ralentizará las cosas, aunque es posible que pueda usarlo para responder mejor al usuario y así dar la impresión de un mejor rendimiento.

Sin embargo, si su código está limitado por otras cosas, por ejemplo, utilizando el sistema de archivos, la red o cualquier otro recurso, entonces el multihilo puede ayudar, ya que permite que su aplicación se comporte de manera asincrónica. Entonces, mientras un hilo espera que un archivo se cargue desde el disco, otro puede consultar un servidor web remoto y otro redibujar la GUI, mientras que otro está haciendo varios cálculos.

Trabajar con varios hilos también puede simplificar la lógica de su negocio, ya que no tiene que prestar tanta atención a cómo varias tareas independientes deben intercalarse. Si la lógica de programación del sistema operativo es mejor que la suya, entonces es posible que vea un mejor rendimiento.


Sí, hay una ventaja de usar múltiples hilos (o procesos) en una sola CPU: si un hilo está ocupado esperando algo, otros pueden continuar haciendo un trabajo útil.

Sin embargo, esto se puede compensar con la sobrecarga de la conmutación de tareas. Deberá comparar y / o perfilar su aplicación en hardware de grado de producción para averiguarlo.


¡Absolutamente! Si haces cualquier tipo de E / S, hay una gran ventaja de tener un sistema multiproceso. Mientras un hilo espera una operación de E / S (que es relativamente lenta), otro hilo puede hacer un trabajo útil.