- UIスレッド (メインスレッド)
- worker (ワーカースレッド)
- UIスレッドがworkerスレッドを作成する
- UIスレッドはonmessageでworkerの終了イベントをlistenしておく
- UIスレッドがworkerにpostMessageで入力データを渡して処理を実行する
- workerが処理を実行し、postMessageでUIスレッドに結果を返す
- UIスレッドがworkerの結果を受け取る
- workerはUIスレッドとは別のJavaScriptファイルにする
- workerがさらにworkerを呼べるのは(subworker)Gecko系だけ
- workerは利用できるオブジェクトや機能が限られている
=> console.logが使えない、DOM操作できない
var worker = new Worker('worker.js');
worker.postmessage("ui-thread");
worker.onmessage = function(event) {
console.log(event.data);
};self.onmessage = function(event) {
var msg = "This worker called by " + event.data;
self.postMessage(msg);
}