『イベントループとプロミスチェーンで学ぶJavaScriptの非同期処理』
第1部 - API を提供する環境と実行メカニズム
非同期 API と環境
プログラムはシングルスレッドで実行される
ブラウザ環境で言えばメインスレッドで実行される
シングルスレッドで実行されるので、長期間メインスレッドを占有するような処理があるとその間は何もできなくなってしまう
これをブロッキングという
メインスレッドは、ブラウザーがユーザーのイベントや描画を処理するところです。
既定では、ブラウザーは単一のスレッドを使用してページ内のすべての JavaScript を、レイアウト、再フロー、ガベージコレクションなどと同様に実行します。
つまり、実行に時間がかかる JavaScript 関数がスレッドをブロックし、ページが反応しなくなり、使い勝手が悪くなります。