はよく知られているように、Javacriptは単一のスレッド言語ですが、なぜ非同期操作を使用できるのですか?非同期操作は、マルチスレッドおよびマルチプロセス機能を備えたブラウザによって実行されるためです。 JavaScriptは常に単一のスレッドで実行され、非同期コードが明らかになったときに実行のためにブラウザに引き渡されます。ブラウザは、これらの非同期オペティションを処理するために、HTTPリクエスト、GUI、イベントトリガーなどを含む対応するスレッドまたはプロセスを呼び出します。
一般的に言えば、JavasCtipタスクは、同期タスク、マイクロタスク、およびマクロタスクの3つのカテゴリに分割できます。同期コードが最初に実行され、次に、ブラウザはマイクロコードをマイクロタスクに配置して、同期タスクを完了するためにワーティングを配置し、マクロコードをマクロタスクのキューに入れてマイクロコードが完了するようにします。
この優先順序は、OSのmutil-revelフィードバックキュースケジューリングアルゴリズムに似ています。
一般的なマクロタスク:setimeout、setInterview、requestAnimationFrame()
。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3