JavaScript運行メカニズム——シングルスレッド

974 ワード

JavaScriptの特徴の一つは です.すなわち、JSは実行環境において単一スレッドであり、 は、後に前のタスクの実行が完了するまで待つ必要がある.同期タスクは時間に応じて直線的に並べられます.例えば:
console.log(1)
console.log(2)
console.log(3)
console.log(4)

// output 
1
2
3
4
JavaScript単スレッド
JavaScriptはユーザーインタラクションを処理し、インタフェース操作のスクリプト言語として、インタラクティブロジックにおける同期処理ロジックの複雑性を低減するために、シングルスレッドが誕生した当初から決定されていたことを示しています.
マルチスレッドが同期して実行されると、ユーザが同じ要素を修正したり削除したりする場合、どのスレッドが主かは判断できません.
もちろん、シングルスレッドのジョブ処理効率は通常、マルチスレッドよりも低く、同期タスクを完了する時間が長すぎると、アプリケーションが応答できなくなる可能性があります.ドキュメント処理などのアプリケーションには友好的ではありません.
CPUの利用率を高めるために、JavaScriptはWebWorkerという概念を提示しました.JavaScriptのメインスレッドに複数のサブスレッドを作成することができますが、サブスレッドにはDOMの操作権限がありません.また、メインスレッドとの通信によって指定された処理プログラムにメッセージを通知する必要があります.メインラインによって制御されます.WebWorker JavasScript 。JavaScript単スレッドは実行環境を表すスレッドではない.
JSはブラウザ環境で実行しています.JS実行環境はシングルスレッドですが、ブラウザ環境はシングルスレッドではありません.ブラウザ環境はまた、GUI HTTP などを含む.