worker和sharedworker


1、介绍

 h5的新功能,主要作用,开辟新线程,充分利用计算机算力,防止“假死”(单线程,js引擎和UI线程互斥)

worker:专属线程,只针对当前运行环境

sharedWorker:共享线程,同源策略下,多个运行环境共用同一个线程,包括数据。

2、worker使用

1、查看文档

阮一峰worker网络日子

2、线程js文件

self.addEventListener('message', function (event) {
    setTimeout(() => {
        self.postMessage("1111-------1111")
    }, 2000);
});
 

3、html文件



  
    
    
    
    Shared Workers basic example
  
  
    

4、注意事项

本地开发有同源策略问题,谷歌浏览器可以通过:chrome://inspect/#workers 即可看到分别开启了两个线程、一个线程

2、线程js文件

var a = 1;
onconnect = function (e) {
    var port = e.ports[0];
    port.onmessage = function () {
        port.postMessage(a++)
    }
}

3、html文件(index.html)



worker demo

    

使用shared worker:

点了 -

4、html文件(index2.html)



worker demo

    

使用shared worker:

点了 -

5、参考链接:很多很多(诸位原作者抱歉)。。。