web worker && webSocket

1.web worker

  在浏览器中JavaScript主线程与UI渲染线程是互斥的。即UI渲染线程会阻塞JavaScript线程的运行。

  web worker允许创建工作线程,并可以与JavaScript主线程同时运行,可以让一些占用大量计算资源的计算在worker线程上运行。

 1 //主线程与worker线程之间的通信
 2 //worker 可以利用XMLHttpRequest加载文件,
 3 
 4 var worker = new worker('js/worker.js');
 5 worker.postMessage(args);
 6 worker.onmessage = function(event){
 7      document.getElementById('result').textContent = event.data;};
 8 
 9 //workerjs
10 onmessage = function(e){
11     var calcuResult = e.data;
12      for(var i=0;i<1000;i++)
13             calcuResult+=i;
14 }
15 postMessage(calcuResult);

2.webSockets

  客户端与服务器端只建立一个TCP连接;webSocket服务器可以推送数据到客户端,这远比HTTP请求响应模式更加灵活更加高效;有更轻量级的协议头,能够减少数据的传送。HTTP 发送请求握手,握手完成后,不再进行 HTTP交互,而是开始 webSocket的数据帧协议。

猜你喜欢

转载自www.cnblogs.com/wust-hy/p/7484974.html