H5--Web Worker

时间:2023-08-23 14:21:08

Web Worker是H5的新特性。

JS是单线程的,所以在消息队列中如果用户想进行一些阻塞操作,比如时延timeout和定时器interval,或者是数据量较大及处理过程非常长的场景,就很容易出现页面卡顿的现象。为解决这种问题,Web Worker诞生了。

它采用后台子线程的方式新启线程,且不会被主线程所影响。采用postMessage和onMessage进行发送和接收消息。且为了避免与主线程操作DOM的情况产生冲突,因此webworker是不可以操作DOM的。

var worker = new Worker("./worker.js");  //创建线程

通过close()来kill掉线程自己,或者在main中调用worker.terminate()来结束线程。

worker.onerror可以接收错误消息。

SharedWorker跟DedicatedWorker两种。

其他具体信息可参看

http://www.mobibrw.com/2015/2532