私はWebワーカーを使用してCPUを集中的に使用していますが、ワーカーがまだ処理している間に、ワーカーが親スクリプトからのメッセージに応答する必要があります。
ただし、ワーカーは処理ループでロックされている間はメッセージに応答しません。また、メッセージキューをポーリングする方法が見つかりませんでした。したがって、唯一の解決策は、キュー内のすべてのメッセージを処理できるように、一定の間隔で処理を中断することであるように思われます。
明らかなオプションはタイマーを使用することです(たとえばsetIntervalを使用)が、起動間の最小遅延が非常に長いことを読みました(http://ajaxian.com/archives/settimeout-delay)。これは処理が遅くなるため残念です。多くの。
これについて他の人々はどう思いますか?onmessage
それぞれの最後にワーカーを自分自身にディスパッチさせてonmessage
、自分から受け取ったイベントごとに処理ループの1つのステップを効果的に実装しようとしますが、誰かがこれについて何かアイデアを持っているかどうかを確認したかっただけです。
ありがとう、