Web Workersを使用した簡単なサンプル
それでは次に、Web Workersを使用した簡単なサンプルを紹介します。図3は、サンプルのフォアグラウンドで動画を表示して、バックグラウンドのワーカで乱数一致の計算を行った様子です。この場合のフォアグラウンドは会話型処理ではありませんが、継続する動画再生が中断されないことを確認できることから、むしろ適切なサンプルでしょう。
図3はサンプルの初期画面表示で、動画が表示されていますがまだ再生は行われていません。
図4の画面で、10のべき乗(ここでは8)を入力して「実行」ボタンをクリックすると動画の再生が開始され(図4)、同時にワーカスクリプトでのバックグラウンド処理が並行して開始されます。ここで、ワーカで行うスクリプト処理は、ランダムに8桁の整数値を2つ発生させ、その2つの値が一致するまで処理を繰り返すという内容です。
この間、フォアグラウンドでの動画放映はバックグラウンドでの演算処理に影響されず、スムーズに継続されます。
バックグラウンドで2つの乱数の一致が確認されると、ワーカからフォアグラウンドスクリプトに通知します。フォアグラウンドでは通知内容をイベントとして検知し、同時に渡されるメッセージをアラート画面で表示して、ユーザに処理完了を知らせます(図5)。