HEML 5 Worker使い方メモ

3936 ワード

Web WorkersはHTML 5が提供するjavascriptマルチスレッドソリューションで、計算量の大きいコードをweb Workerに渡して実行することができます.Web Workerの基本原理は、現在のjavascriptのメインスレッドで、Workerクラスを使用してjavascriptファイルをロードして新しいスレッドを開き、実行をブロックしない効果を発揮することです.
1.Workerの使い方
まず、Workerが提供するインタフェースについて知ります.
(1)メインスレッドと新しいスレッド間のデータ交換のインタフェース:postMessage,onmessage.
インスタンスオブジェクトonmessage(function(e){});worker.postMessage(data);
グローバルメソッドonmessage=function(e){};postMessage(data);
いったいどのように使うのでしょうか.練習しないだけで、ばかだ.例は以下の通りだ.
//worker.js
onmessage =function (evt){
  var d = evt.data;//  evt.data        
 
   
   
  
  comsole.log(d);
  postMessage( "  ,   " );//             
}

 
  
 
  
  html   : 
   
  






 
 
    //WEB    
      var worker =new Worker("worker.js");        //     Worker                   URL,     worker.js。
         worker.postMessage("  ,   ");       //  worker    
         worker.onmessage =function(evt){         //   worker        
              console.log(evt.data);              //   worker      
         }
 
 
 

WEB :

1. worker = new Worker( url ) JS ( ) worker, worker 。

2. worker.postMessage( data ) worker 。

3. worker.onmessage worker 。

4. worker.terminate() worker 。

worker :

1. postMessage( data ) 。

2. onmessage 。