Hogar Hardware ¿Qué es multihilo? - definición de techopedia

¿Qué es multihilo? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa Multithreading?

El subprocesamiento múltiple es un tipo de modelo de ejecución que permite que existan múltiples subprocesos dentro del contexto de un proceso de modo que se ejecuten de forma independiente pero compartan sus recursos de proceso. Un subproceso mantiene una lista de información relevante para su ejecución, incluido el programa de prioridad, los controladores de excepciones, un conjunto de registros de CPU y el estado de la pila en el espacio de direcciones de su proceso de alojamiento.

El subprocesamiento múltiple también se conoce como subprocesamiento.

Techopedia explica Multithreading

El subproceso puede ser útil en un sistema de procesador único al permitir que el subproceso de ejecución principal responda a la entrada del usuario, mientras que el subproceso de trabajo adicional puede ejecutar tareas de larga duración que no necesitan intervención del usuario en segundo plano. El subprocesamiento en un sistema multiprocesador da como resultado una verdadera ejecución concurrente de subprocesos en múltiples procesadores y, por lo tanto, es más rápido. Sin embargo, requiere una programación más cuidadosa para evitar comportamientos no intuitivos, como condiciones de carrera, puntos muertos, etc.

Los sistemas operativos usan subprocesos de dos maneras:

  • Subprocesamiento múltiple preventivo, en el que el cambio de contexto es controlado por el sistema operativo. El cambio de contexto puede realizarse en un momento inapropiado, por lo tanto, un subproceso de alta prioridad puede ser indirectamente adelantado por un subproceso de baja prioridad.
  • Multithreading cooperativo, en el cual el cambio de contexto es controlado por el hilo. Esto podría generar problemas, como puntos muertos, si se bloquea un subproceso en espera de que un recurso se libere.

Las versiones de Windows de 32 y 64 bits utilizan subprocesamiento múltiple preventivo en el que se comparte el tiempo de procesador disponible de modo que todos los subprocesos obtienen un intervalo de tiempo igual y se atiende en un modo basado en cola. Durante el cambio de subprocesos, el contexto de un subproceso anticipado se almacena y se vuelve a cargar en el siguiente subproceso de la cola. El intervalo de tiempo es tan corto que los subprocesos en ejecución parecen estar ejecutándose en paralelo.

Esta definición fue escrita en el contexto de la Arquitectura de Computadores
¿Qué es multihilo? - definición de techopedia