¿Por qué JavaScript no es compatible con subprocesos múltiples?

¿Qué es multiproceso?
Multithreading es un tipo de modelo de ejecución que permite que existan diferentes hilos dentro de la configuración de un proceso con el objetivo final de que se ejecuten de forma autónoma pero compartan sus recursos de proceso. Un subproceso mantiene un resumen de los datos importantes 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 ubicación de su proceso de alojamiento.

¿Por qué JavaScript no es compatible?
Como probablemente sabrá, JavaScript es de un solo subproceso . Para explicarlo mejor, esto implica que un solo hilo maneja el círculo de eventos. Para navegadores más establecidos, todo el navegador compartía un solo hilo entre cada una de las pestañas. Los navegadores actuales mejoraron esto utilizando procesos por sitio o varios subprocesos por pestaña. Aunque los subprocesos dedicados mejoraron la capacidad de respuesta de las páginas, dejó cada pestaña incapaz de manejar diferentes scripts ejecutándose a la vez.
De hecho, incluso Google Chrome no permitirá que JavaScript de una sola página web se ejecute simultáneamente porque esto causaría enormes problemas de simultaneidad en las páginas web existentes. Todo lo que hace Chrome es dividir varios componentes (varias pestañas, módulos, etcétera) en procesos discretos, pero ninguno puede imaginar una página solitaria que tenga más de un hilo de JavaScript.

Publicación traducida automáticamente

Artículo escrito por AbhinandanBhatnagar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *