9.1 非同期処理とは

通常のプログラムは、書かれた順番に一行ずつ実行されます。プログラムは、現在実行中の行の命令での処理が終わるまで、次の行の処理を実行するのを待ちます。これを同期処理(どうきしょり)と言います。それに対して非同期処理(ひどうきしょり)は、ある行の処理が終わるのを待たずに、次の処理を進める仕組みです。

なぜ、このような仕組みが必要なのでしょうか?

もし、サーバーから大量のデータを読み込む処理を、同期処理で行ったとしましょう。同期処理の場合、プログラムは大量のデータの読み込みが終わるまで、一切動かなくなります。仮に、ユーザーが、そのデータの読み込み処理を中断させたい、と思っても、プログラムはデータの読み込みが終わるまでは何の応答も返しません。ブラウザの画面すら一切動かなくなります。ユーザーは、中断ボタンを押すこともできず、何もわからないまま、その処理が終わるのをひたすら待つ羽目になります。この状態に陥ることをフリーズと言います

こんな問題を解決するのが、非同期処理です。

非同期処理を使うことで、裏側で大量のデータを読み込みながら、表側では、ユーザーの操作を受け付けたり、ユーザーに、現在、データの読み込みが何パーセント終わっている、といった通知を出したりできるようになります。特に時間がかかりそうな処理を非同期処理で行うことで、アプリケーションは、より柔軟でスムーズな動きができるようになります

ポイント

  • 非同期処理を用いることで、アプリケーションは、時間がかかりそうな処理でもフリーズすることなく、より柔軟でスムーズな動きができるようになる。