objetivos - javascript español
¿Todas las pestañas en una ventana del navegador comparten un solo hilo de JavaScript? (1)
No hay forma de responder eso de una manera genérica porque esta es la implementación del navegador específica.
Casi todos los navegadores antiguos siempre usaban un solo hilo para cada pestaña, pero los navegadores / versiones más modernos podrían haber cambiado eso (por ejemplo, Chrome tiene un hilo por pestaña, en realidad, incluso tiene un proceso completo por pestaña ). EDITAR: corrección del comentario.
En realidad, Chrome utiliza Process-per-site-instance. Eso significa que un solo sitio abierto en varias pestañas aún será procesado por el mismo proceso
Si lo solicita por razones de rendimiento (como preguntar "está bien bloquear todo en mi sitio web usando un bucle infinito eterno, o se extenderá a otras pestañas"), es más seguro asumir que el hilo está compartido por todo el mundo. Si está en el navegador actual, entonces usted lo planeó, y si no lo está, entonces obtiene un mejor rendimiento que el planeado, apenas un problema.
Para que algunos códigos se ejecuten en su propio subproceso, haga un bucle en los Trabajadores Web , pero aún están lejos de implementarse completamente en todos los navegadores "modernos".
En general, la ejecución de JavaScript en el navegador se considera como un solo hilo. ¿Este único hilo se aplica a todas las pestañas abiertas en una ventana del navegador?
En otras palabras, si el código JavaScript (diferente) se ejecuta en pestañas diferentes, ¿todos se ejecutan utilizando un solo hilo?
Además, ¿qué sucede cuando tiene abiertas varias ventanas del mismo navegador y cada ventana contiene varias pestañas?
Finalmente, ¿las respuestas a lo anterior dependen del proveedor / versión del navegador, etc.?