~llamerada/memo/スマートフォン用の表示で見る~llamerada/memo/この広告は、90日以上更新していないブログに表示しています。2016-08-07WebWorker調査メモWebブラウザ上でマルチスレッドを実現する方法を調査していたところ、WebWorkerなるものを見つけた。当初探していたものと異なるが、メモリ空間の分離ができ、他のところで役立ちそうなため、メモ。developer.mozilla.org特徴ブラウザ上のJavaScriptは1つの実行スレッドを持つが、WebWorkerを使うと、別のスレッド(Worker)を作ることができる。Workerで重たい処理を実行していても、メインスレッドはブロックされず、DOM操作を行うことができる。WorkerからDOMを操作することはできない。その他、Worker内で利用できるAPI、機能には制限がある。developer.mozilla.orgMDNではしばしばスレッドという表現がされるが、少なくともJavaScript上ではメインスレッドとWorkerでメモリ空間が別々。プロセスといったほうがイメージが近い。メインスレッドとWorkerはメッセージパッシングで通信する。渡したオブジェクトはコピーされる。そのためメインスレッドで編集してもWorkerには影響ない。基本機能はスマートフォン環境を含め、多くのブラウザでサポートされている。SharedWorker(iframe,異なるwindowでworkerを共有する)などの凝った機能はIEやスマートフォンでサポートされていない場合が多い。参考リンクMDNのドキュメント、APIなどの一覧。EntriesArchiveはてなブログをはじめよう!llamerad-jpさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。