この前のナンバーリンクソルバーについて改良を行なっていたのですが、さすがにSATソルバーをフロントエンドでそのまま回すのは負担が重いので、Web Workerで処理を行ってみることにしましたが、Emscripten特有の注意点が1つありました。 おことわり なお、この記事はEmscriptenでコンパイルした後にWeb Workersで複数スレッド動作をさせることを前提としたC/C++コードを書く、という意味合いの記事ではありません。もともとあったC/C++のコードベースをEmscripten化したものについて、Web Workerで動作させる、という内容です。 Web Workerとは JavaScriptは基本的にシングルスレッドのモデルをとっているので、一度には1つの処理しか進行しません。AjaxやsetTimeout、イベントなど非同期実行の処理は数多くありますが、これらとて1つの