H5 nuevas características -WebWorker

WebWorker es H5 en la nueva API, se puede utilizar fácilmente esta API para crear un subproceso en segundo plano, ya Webworker utilizado comúnmente en la ejecución de dichos eventos necesita mucho de la lógica o el ciclo de cálculo, para evitar la aparición de la página animación suspendida.

  Javascript utiliza el modelo de un solo subproceso, es decir, todas las tareas sólo se pueden realizar en un hilo, una sola cosa.

  rol de trabajo web es crear un entorno multi-hilo para JavaScript, el hilo principal crea subprocesos de trabajo, algunas de las tareas asignadas a estos últimos, entre el trabajo en el hilo principal, trabajador se ejecuta en segundo plano, los dos no interferentes. subprocesos de trabajo esperan hasta después de la finalización de la tarea, y luego vuelven al hilo principal. La ventaja es que algunas tareas computacionalmente intensivas, la carga es subproceso de trabajo, el hilo conductor será muy suave.

1 Trabajador Web problemas de uso que requieren atención:

  (1). Restricción homóloga
  (2) las restricciones DOM :. Los hilos de trabajo no pueden acceder a la página donde el principal objeto DOM hilo, ni pueden documentar, ventana, objetos padre. Pero el subproceso de trabajo puede tener acceso al navegador, ubicación de orientación
  (3) enlaces de comunicación :. hilo trabajador y el hilo principal no está en el mismo entorno, no se puede comunicar directamente, sólo a través de la realización del mensaje
  (4) las restricciones de secuencia de comandos :. Los hilos de trabajo no pueden ejecutar de alerta (), confirm () métodos
  . Límites de archivos (5): subproceso de trabajo no pueden leer el sistema de archivos local que no se abra la máquina (file: //), debe provenir de la red

 

2. Uso básico

(1) el hilo principal:

// Crear un subproceso de trabajo
 trabajador var = new new Trabajador ( 'Test.js'); // parámetro es el archivo de script Dirección
propiedad onmessage
  propiedad onmessage representa un controlador de eventos, cuando los rendimientos subproceso de trabajo el mensaje se llama, su estructura gramatical es:
Trabajador线程.onmessage = función (e) { 
...
};
postMessage método ()
el método postMessage () para transmitir un mensaje al ámbito interno subproceso de trabajo, la sintaxis estructura es:
subproceso de trabajo .postMessage (el mensaje) 
// el parámetro del mensaje puede ser cualquier tipo de datos
Terminar()
Comportamiento terminar () método utilizado para terminar el trabajador, la estructura gramatical es:
.terminate subproceso de trabajo ()
 
(2) subproceso de trabajo
rosca interna trabajador tiene una función de monitor, mensaje monitor de eventos, su estructura gramatical es:
self.addEventListener ( 'mensaje', la función (e) { 
  ....
});
postMessage método ()
el método postMessage () para transmitir un mensaje al hilo principal:
este .postMessage (mensaje)
método close ()
close () método se utiliza para cerrarse en Trabajador ah hilo, estructura gramatical que es:
este .close () // 或者
self.close ()

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Supongo que te gusta

Origin www.cnblogs.com/codexlx/p/12562751.html
Recomendado
Clasificación