私はJavaScriptイベントループとWebワーカーの使用に関して、同僚と長い話をしてきました。単一のWebページでは、異なるWeb労働者が異なるスタック、ヒープ、およびメッセージ・キューは、具体的に形here、持っている:JavaScriptイベントループとWebワーカ
A web worker or a cross-origin iframe has its own stack, heap, and message
queue. Two distinct runtimes can only communicate through sending messages via
the postMessage method. This method adds a message to the other runtime if the
latter listens to message events.
を同じイベントループ内で実行されるすべてのメッセージがある、または各Webワーカーが持っているその自身のイベントループ?
私はページに2人のWebワーカーがいるため、非常に計算量の多い操作を順番に実行し、もう1人はWebRTC接続を処理するだけなので、この質問をしています。 詳細については触れませんが、計算量の多いWeb WorkerがJavaScriptイベントループから計算時間を奪い取っているように見えます。他のWorkerは、接続を維持するだけです(ハートビートを仮定すると)はこれを行うことができず、接続は最終的に失われます。
これは私が信じるものです。そうでない場合、2つのWebワーカーが異なるイベントループで動作する場合、コンピューティングWebワーカーの負荷が重い場合(負荷が軽い場合は接続が失われない場合)、接続が失われる理由を説明できません。
(私は1つのワーカーファイルを作り、startコマンドで遅延を送ったが、...ている可能性が)私は* *マシンの使用可能な処理時間を支配する労働者について考え、それは少しを鳴らし私はそれが起こるとは思わなかった。とにかくお返事いただきありがとうございます。 :)私は私の遅い労働者の問題に回避策を見つけることを試みる。 – Masiar