概要
非同期処理とは、ある処理が完了するのを待たずに次の処理を進められる仕組みのことです。
時間のかかる処理(例:データベースへのアクセスやネットワーク通信など)を行う際、
プログラム全体の動作を止めずに他の処理を同時並行で進めることができます。
これにより、ユーザー体験の向上やシステム全体の効率化につながります。
正式名称
非同期処理(ヒドウキショリ)
Asynchronous Processing(エイシンクロナス プロセッシング)
略称
非同期(ヒドウキ)
Async(エイシンク)
特徴
- 処理が完了するのを待たずに次の処理に進める
- 複数の処理を並行して実行できる
- ユーザー体験を向上(画面フリーズを防ぐ)
- サーバーやアプリのリソースを効率的に利用できる
- コールバック関数・Promise・async/awaitなどで実装されることが多い
具体例
- Webブラウザでの通信
ボタンをクリックしてサーバーにデータを送信 → 送信完了を待たずに画面操作を続行 - JavaScriptでのAPI呼び出し
await
によって処理を一時停止しつつ、他の処理は止まらない
async function fetchData() {
const response = await fetch("https://api.example.com/data");
const data = await response.json();
console.log(data);
}
- スマホアプリでのファイルダウンロード
ダウンロード中でもアプリの他の機能を利用できる
関連用語
用語 | 解説 |
---|---|
同期処理(シンクロナス処理) | 処理が終わるまで次の処理に進めない方法 |
マルチスレッド | 複数のスレッドで同時に処理を行う仕組み |
Promise(プロミス) | JavaScriptにおける非同期処理の記述方法 |
async/await(エイシンク・アウェイト) | 非同期処理を同期的に書ける構文 |
イベントループ | 非同期処理の仕組みを支える仕組み(特にJavaScriptで重要) |