Me pregunto qué sucede cuando un usuario cierra la pestaña que engendró el hilo del trabajador, mientras que el hilo sigue funcionando. ¿Detener todo? Si es así, ¿hay alguna forma de ejecutar el hilo en segundo plano incluso cuando la pestaña está cerrada?¿Qué sucede con un hilo de trabajador web HTML5 cuando la pestaña se cierra mientras se está ejecutando?
Respuesta
Sí, lo detiene todo, un trabajador (dedicado) no puede sobrevivir a su dueño. Si usa un trabajador compartido, que puede tener varios propietarios, el trabajador solo permanecerá vivo mientras haya al menos un propietario vivo. Este es el caso incluso si transfiere el MessagePort
enredado a otra ventana (es decir, el propietario del puerto de mensajes es no el propietario del trabajador).
Por lo tanto, con los trabajadores compartidos puede "transferir" la propiedad abriendo una nueva ventana que establezca su propia conexión con el trabajador (con new SharedWorker(...)
) y luego cierre la ventana anterior. Pero una ventana siempre debe permanecer abierta.
Echa un vistazo aquí
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
Yo creo se confirma que una vez que el navegador se va, los trabajadores deben parar.
Cada vez que se descarta un objeto de documento, que debe ser eliminado de la lista de documentos del trabajador de cada trabajador cuya lista contiene ese documento .
En el caso de que usted tiene una ventana usando trabajadores web, y se cierra la ventana (o pestaña), el trabajador desaparece.
Si tiene un caso en el que tiene una ventana, que abre otras ventanas o pestañas, los trabajadores pueden continuar. Pero si cierras todo, todos se van.
- 1. ¿Qué sucederá cuando edite un script mientras se está ejecutando?
- 2. ¿Qué sucede con otros hilos cuando un hilo se bifurca()?
- 3. ¿Qué sucede cuando un hilo se interrumpe mientras se bloquea en una espera()?
- 4. ¿Se cierra automáticamente una SqlConnection cuando se cierra una aplicación?
- 5. ¿Qué sucede cuando invocas la interrupción de un hilo()?
- 6. Cómo detener un hilo cuando se cierra mi aplicación winform
- 7. CLR se cierra cuando un hilo no se maneja. Excepción
- 8. ¿Se cierra un hilo automáticamente?
- 9. ¿Qué sucede cuando un proceso se bifurca?
- 10. ¿Es seguro recompilar un ejecutable mientras se está ejecutando?
- 11. ¿Qué sucede si un hilo se cuelga en un proceso?
- 12. zócalo no se cierra después de la aplicación se cierra si un proceso iniciado está abierto
- 13. Unix: ¿Qué sucede cuando un descriptor de archivo de lectura se cierra durante la llamada? Select()
- 14. ¿Qué sucede con una transacción no confirmada cuando se cierra la conexión?
- 15. ¿Qué iniciador se está ejecutando?
- 16. ¿Qué sucede cuando actualizamos una página web?
- 17. ¿Qué sucede si no elimino un Objeto de búfer de vértice cuando mi programa se cierra?
- 18. ¿Se está ejecutando el hilo Java en qué procesador?
- 19. Notificación en Phonegap mientras la aplicación no se está ejecutando
- 20. ¿Qué le sucede a una AsyncTask cuando se detiene/destruye la actividad de inicio mientras aún está en ejecución?
- 21. ¿Qué sucede cuando cierra una aplicación de consola de C++?
- 22. ¿Qué sucede si un proceso secundario no cierra la tubería de escritura, mientras lee?
- 23. Editar script de shell mientras se está ejecutando
- 24. apropiante un hilo que se está ejecutando sincronizado método
- 25. BroadcastReceiver cuando la aplicación no se está ejecutando
- 26. Chrome antes de descargar el evento cuando la pestaña (o navegador) se cierra
- 27. Qué sucede en IIS/C# cuando se cancela una solicitud
- 28. ¿Qué sucede con un swf cuando está incrustado?
- 29. ¿Qué sucede cuando se agota un grupo de conexiones?
- 30. actualización R paquetes mientras R se está ejecutando
Solo para aclarar, ya que la discusión se centra en las nuevas ventanas, esto también debería aplicarse a las nuevas cargas de página. Al cargar una nueva página, se descarta el objeto del documento actual (el trabajador web se va) y se vuelve a crear en la carga de documentos nuevos. – ElHaix