バックグランドの並列処理 | WebWorkerの使い方 | ワクガンス
検証
JavaScriptにはsetTimeout関数,setInterval関数,XMLHttpRequest(Ajax)などの非同期処理が存在する。 しかし、JavaScriptの非同期処理は並列処理は同じものとは言えない。
JavaScriptの非同期処理は、サーバー側に仕事をさせる場合(Ajax,XMLHttpRequest)、並列処理がなされる。
しかし、自スクリプト中の他の処理を、非同期処理させようとしても並列処理にはならない。
つまり同期処理では、JavaScriptで書かれた重たい処理を並列実行することができない。
だが
Web Worker
を使えば、JavaScriptで書かれた重たい処理を並列実行させることができる。
しかし、Web WorkerはDOM操作やjQueryが使えないという弱点が存在する。
検証1:setTimeout(非同期処理)
setTimeout関数では並列処理ができない。
検証2:Web Worker (並列処理)
出力:
ホーム
サンプルソースコード
JavaScript | サンプル
バックグランドの並列処理 | WebWorkerの使い方