2

依存関係を認識する 2 つのライブラリを実行しています。つまり、それらの実行順序は重要ではありません。それらはお互いを検出し、任意の順序で実行されます。

script1.js

script2.js

Web Worker を使用してこれらのスクリプトを並行して実行する (並行処理) ことでメリットはありますか? ( MDN ドキュメント)

シリアルで実行した場合よりも速く実行されるということですか?

両方のスクリプトはクライアントで既に利用可能です (ダウンロードする必要はありません)。

4

4 に答える 4

6

スクリプトの一方または両方が純粋に機能している場合、つまりDOMまたはグローバルJavascriptオブジェクトにアクセスする必要がない場合は、Webワーカーを使用することでメリットが得られます。

そうでない場合、Webワーカーはあなたに何の役にも立たないでしょう。JSがWebワーカーを介して実行される場合、JSはメッセージをメインのDOMスレッドに戻し、それらを受信することしかできません。

于 2013-02-12T20:21:42.633 に答える
2

いいえ、JavaScript は Web ブラウザの単一スレッドで実行されます。そのため、ユーザーがインタラクティブでない (DOM とやり取りしない) 場合を除き、それらを並行して実行することはできません。

ただし、スクリプトを非同期的にロードして、初期化を高速化できます。

async=true属性 on を使用するだけ<script>です。このような:

<script async="async">....</script>
于 2013-02-12T20:20:40.667 に答える
1

私が理解しているように、WebワーカーはOSレベルの実行スレッドを提供します。したがって、パフォーマンスの向上は、クライアントOSのスレッド実装に固有のトレードオフに依存している可能性があります。

いずれにせよ、OSにひどいスレッドの実装がない限り、ロード時間の改善が見られるはずです。

于 2013-02-12T20:23:27.673 に答える
0

私の賭け、はい

尋ねるようなもの

1 man takes 6 days to do a task. How much time will 2 men take?

:-)

WebWorkers の最も理想的なユースケース

于 2013-02-12T20:20:04.540 に答える