次の方法で共有


デリゲートを使用した非同期プログラミング

デリゲートを使用すると、非同期方式で同期メソッドを呼び出します。 デリゲートを同期的に呼び出すと、 Invoke メソッドは現在のスレッドで直接ターゲット メソッドを呼び出します。 BeginInvoke メソッドが呼び出されると、共通言語ランタイム (CLR) は要求をキューに入れ、すぐに呼び出し元に返します。 ターゲット メソッドは、スレッド プールのスレッドで非同期的に呼び出されます。 要求を送信した元のスレッドは、ターゲット メソッドと並行して実行を続行できます。 BeginInvoke メソッドの呼び出しでコールバック メソッドが指定されている場合は、ターゲット メソッドの終了時にコールバック メソッドが呼び出されます。 コールバック メソッドでは、 EndInvoke メソッドは戻り値と、入力/出力または出力のみのパラメーターを取得します。 BeginInvokeの呼び出し時にコールバック メソッドが指定されていない場合は、BeginInvokeを呼び出したスレッドからEndInvokeを呼び出すことができます。

Von Bedeutung

コンパイラは、ユーザーによって指定されたデリゲート シグネチャを使用して、 InvokeBeginInvoke、および EndInvoke メソッドを使用してデリゲート クラスを出力する必要があります。 BeginInvokeメソッドとEndInvoke メソッドはネイティブとして装飾する必要があります。 これらのメソッドはネイティブとしてマークされているため、CLR はクラスの読み込み時に自動的に実装を提供します。 ローダーは、オーバーライドされていないことを確認します。

このセクションにて

同期メソッドの非同期呼び出し
デリゲートを使用して通常のメソッドに非同期呼び出しを行う方法について説明し、非同期呼び出しが返されるのを待つ 4 つの方法を示す簡単なコード例を示します。

イベント ベースの非同期パターン (EAP)
.NET での非同期プログラミングについて説明します。

こちらも参照ください