一言でいうと

「非同期」とは、複数の処理を同時に進める仕組みのことです。一つの処理が終わるまで待たずに、別の処理を先に進めることができます。

もう少し詳しく

例えば、レストランで注文する場面を想像してください。

「同期」的なやり方は、お客さんが注文を言う→料理人が作る→できあがるまでずっと待つ→料理が届く、という流れです。お客さんはずっと待っているだけで何もできません。

一方「非同期」的なやり方は、お客さんが注文を言う→その後は席で他のことをする→料理ができたらスタッフが呼びに来る、という流れです。待っている間も自由に時間を使えます。

プログラミングでも同じで、データを読み込む時間が長い場合、その完了を待たずに他の処理を先に進めることができます。これにより、アプリケーションがサクサク動いているように感じられます。

よく使われる場面

Webサイトやアプリで「読み込み中…」と表示されている間も、画面をスクロールできたり、ボタンを押せたりします。これは非同期処理のおかげです。

また、スマートフォンに通知が届いたり、メールが自動で送られたりするのも、バックグラウンドで非同期処理が動いているからです。

関連する言葉

  • 同期:処理が完了するまで次に進まない状態
  • 並列処理:複数の処理を同時に実行すること
  • コールバック:非同期処理が終わった後に実行される処理