Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptがマルチスレッドをサポートしていないのはなぜですか?


JavaScriptは以前はシングルスレッドでした。いわゆるイベントループを使用して実行されます。

イベントループには、コールスタックとコールバックキューを監視するという1つの簡単な仕事があります。コールスタックが空の場合、キューから最初のイベントを取得し、それをコールスタックにプッシュして、効果的に実行します。

ブラウザのJSは、99.999%のWebサイトでは必要ないため、イベントループでのマルチスレッドをサポートしていません。イベントループはすべてをシームレスに処理します。

残りのアプリについては、開発者はWebワーカーを使用できます。 Webワーカーは、Webコンテンツがバックグラウンドスレッドでスクリプトを実行するための簡単な手段です。ワーカースレッドは、ユーザーインターフェイスに干渉することなくタスクを実行できます。さらに、XMLHttpRequestを使用してI / Oを実行できます(ただし、responseXMLおよびchannel属性は常にnullです)。作成されたワーカーは、そのコードで指定されたイベントハンドラーにメッセージを投稿することで、作成したJavaScriptコードにメッセージを送信できます(その逆も可能です)。この記事では、Webワーカーの使用について詳しく説明します。


  1. 説明します。 。 .ofループJavaScript。

    for..ofループを使用すると、配列、文​​字列、オブジェクトのような配列、ノードリストなどの反復可能なオブジェクトを反復処理できます。 以下は、javaScriptのfor..ofループのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.

  2. Python3-なぜループが機能しないのですか?

    それは機能します。ループ内でsleep()メソッドを使用したため、(0.9 * 36)秒間アクティビティは発生しません。入力を求めているのではありません。ループの終了後、ウィンドウには、指定された文字列を含むテキストフィールドが表示されます。