Red de conocimiento informático - Material del sitio web - ¿Qué significa multiproceso?

¿Qué significa multiproceso?

Multithreading (multithreading) se refiere a la tecnología que realiza la ejecución simultánea de múltiples subprocesos desde software o hardware.

Las computadoras con capacidades de subprocesos múltiples pueden ejecutar más de un subproceso al mismo tiempo debido al soporte de hardware, lo que mejora el rendimiento general del procesamiento. Los sistemas con esta capacidad incluyen multiprocesadores simétricos, procesadores multinúcleo y procesadores multiprocesamiento a nivel de chip o multiproceso simultáneo. En un programa, estos fragmentos de programa que se ejecutan de forma independiente se denominan "subprocesos" y el concepto de programación que los utiliza se denomina "subprocesos múltiples".

Principio del mecanismo de ejecución concurrente: en pocas palabras, un procesador se divide en varios intervalos de tiempo cortos, y cada intervalo de tiempo ejecuta y procesa cada aplicación por turno. Dado que un intervalo de tiempo es muy corto, relativamente Para un. aplicación, es como si el procesador se funcionara solo, logrando así el efecto de múltiples aplicaciones ejecutándose al mismo tiempo.

Multi-threading es aplicar el principio del mecanismo de ejecución concurrente en el sistema operativo a un programa, dividiendo un programa en varias subtareas, y se ejecutan múltiples subtareas al mismo tiempo, y cada tarea es una hilo. Este es un programa multiproceso.

El subproceso múltiple consiste en completar múltiples tareas simultáneamente, no para mejorar la eficiencia operativa, sino para mejorar la eficiencia del uso de recursos para mejorar la eficiencia del sistema. Los subprocesos se implementan cuando es necesario completar varias tareas al mismo tiempo.

Ventajas y desventajas de los subprocesos múltiples

Ventajas

El uso de subprocesos puede poner tareas en programas a largo plazo en segundo plano para su procesamiento.

La interfaz de usuario puede ser más atractiva, de modo que si el usuario hace clic en un botón para activar el procesamiento de ciertos eventos, puede aparecer una barra de progreso para mostrar el progreso del procesamiento. El programa puede ejecutarse más rápido.

Los subprocesos son más útiles en la implementación de tareas de espera, como la entrada del usuario, la lectura y escritura de archivos y el envío y recepción de datos en la red. En este caso, se pueden liberar algunos recursos valiosos, como el uso de memoria.

La tecnología multihilo también juega un papel importante en el desarrollo de software IOS.

Desventajas

Si hay una gran cantidad de subprocesos, el rendimiento se verá afectado porque el sistema operativo necesita cambiar entre ellos. Más subprocesos requieren más espacio de memoria. Los hilos pueden introducir más "errores" en su programa, así que utilícelos con precaución. La terminación de subprocesos debe considerar su impacto en la ejecución del programa. Por lo general, los datos del modelo de bloques se comparten entre varios subprocesos y es necesario evitar el punto muerto de los subprocesos.