Asynchrony (computer programming) とは

非同期は、コンピュータプログラミングにおいて、主なプログラムの流れおよびそのような事象に対処する方法とは無関係の事象の発生を指す。これらは、プログラムの実行と並行して実行されるプログラムによって誘発されたシグナルの到着などの「外部」イベントであっても、プログラムが結果を待つことをブロックすることはありません。非同期入出力は、非同期の後者の原因の一例であり、プロセッサがプログラムの実行を継続している間、これらの要求を処理する記憶装置またはネットワーク装置にコマンドを発行させる。そうすることである程度の並列性が得られます。
プログラミングインターフェイスで非同期処理を行う一般的な方法は、進行中のイベントを表すオブジェクト(未来または約束とも呼ばれる)を呼び出し側に返すサブルーチン(メソッド、関数)を提供することです。このようなオブジェクトは、通常、操作が完了するまでブロックする同期操作を伴います。 Cilkなどの一部のプログラミング言語には、非同期プロシージャコールを表現するための特別な構文があります。
非同期の例には、次のものがあります。
 非同期プロシージャー呼び出し、スレッドを軽量化するために同時にプロシージャーを実行する方法。 「Ajax」とは「非同期JavaScriptとXML」の略)は、非同期I / O Webアプリケーションを作成するためにクライアント側で使用される多くのWebテクノロジを利用する一連のWeb開発手法です。非同期メソッドディスパッチ(AMD)は、サーバーサイドが多数の長期にわたるクライアント要求を処理する必要がある場合に使用されるデータ通信メソッドです。同期方式ディスパッチ(SMD)を使用すると、このシナリオではサーバーを使用不可能なビジー状態にして、ネットワーク接続要求のタイムアウトによって接続障害応答が発生する可能性があります。クライアント要求のサービスは、スレッドプールから利用可能なスレッドに直ちにディスパッチされ、クライアントはブロッキング状態になります。タスクが完了すると、サーバーはコールバックによって通知されます。サーバーはクライアントのブロックを解除し、クライアントに応答を返します。スレッドスターベーションの場合、クライアントはスレッドが使用可能になるのを待ってブロックされます。