ジャンプ先:

非同期とは、2つ以上の事象が同時に発生したり、関連する複数の事象が互いの完了を待たずに発生したりする概念を指します。コンピュータの世界では、次の2つの文脈で使われることが多いです。

ネットワークと通信
非同期通信とは、2人以上の通信者の間で、それぞれが都合の良いタイミングでメッセージを受信し処理する通信方式です。受信者は、受信直後に処理をする必要はありません。また、問題発生時には受信者が訂正をリクエストしたり問題を処理したりするという了解の下で、メッセージは受信者の確認を待たずに送信されるかもしれません。

人の場合、電子メールは非同期通信の1つです。送信者がメールを送信すると、受信者は受信直後ではなく都合の良いタイミングでメッセージを読んで返信します。両者ともに、好きなときに送信や受信を継続でき、お互いにスケジュールを調整する必要はありません。

ソフトウェアが非同期通信を行う場合は、一方が他方(例えばサーバ)に対して情報をリクエストし、それに対するリプライが来るまでは別の作業を継続します。例えば、AJAX (Asynchronous JavaScript and XML) は、受信者がHTTPを使って少量のデータをリクエストすると、送信者はそのデータが準備でき次第、レスポンスを返すような仕組みです。
ソフトウェア・デザイン
非同期ソフトウェアのデザインは、プログラム中で元のタスクを止めることなく、別のタスクを同時に実行させることを可能にするものです。2つ目のタスクが完了した時、合意された仕組みを使い、その情報が元のタスクに通知されます。それにより、元のタスクは、処理が完了し結果が利用可能になったことを把握できるのです。

非同期ソフトウェアを実装するプログラミング・テクニックは数多くあります。
学んでみたければ、Asynchronous JavaScriptの記事をご覧下さい。

詳細情報

技術リファレンス

ドキュメントのタグと貢献者

このページの貢献者: y-kazunori, mdnwebdocs-bot, Uemmra3, takeru0430
最終更新者: y-kazunori,