ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript 言語はマルチスレッドをサポートしていますか?

JavaScript 言語はマルチスレッドをサポートしていますか?

青灯夜游
青灯夜游オリジナル
2021-04-01 16:54:352887ブラウズ

ブラウザの JavaScript インタープリタはシングルスレッドであるため、JavaScript 言語はマルチスレッドをサポートしません。 JavaScript はもともとブラウザで使用するように設計されており、その主な目的はユーザーと対話し、DOM を操作することであり、JavaScript はシングルスレッドでのみ実行できると判断され、それ以外の場合は非常に複雑な同期の問題が発生します。

JavaScript 言語はマルチスレッドをサポートしていますか?

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 5、Dell G3 コンピューター。

ブラウザの JavaScript インタープリタはシングルスレッドであるため、JavaScript 言語はマルチスレッドをサポートしません。

JavaScript の単一スレッドは、その目的に関連しています。 JavaScript はもともとブラウザで使用するために設計されました。ブラウザ スクリプト言語としての JavaScript の主な目的は、ユーザーと対話し、DOM を操作することです。これにより、JavaScript はシングルスレッドでしか動作できないと判断され、それ以外の場合は非常に複雑な同期の問題が発生します。

たとえば、JavaScript に同時に 2 つのスレッドがあるとします。1 つのスレッドは特定の DOM ノードにコンテンツを追加し、もう 1 つのスレッドはノードを削除します。この場合、ブラウザはどちらのスレッドを使用する必要がありますか?

したがって、複雑さを避けるために、JavaScript は誕生以来シングルスレッドであり、これはこの言語の中核機能となっており、将来も変わることはありません。

マルチコア CPU のコンピューティング能力を活用するために、HTML5 は Web Worker 標準を提案しています。これにより、JavaScript スクリプトは複数のスレッドを作成できますが、子スレッドは完全に制御されます。メインスレッドによって実行され、DOM を操作することは許可されません。したがって、この新しい標準は JavaScript のシングルスレッドの性質を変更しません。

推奨学習:

js の基本チュートリアル

以上がJavaScript 言語はマルチスレッドをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。