次の方法で共有


非同期デリゲート

非同期デリゲートを使用すると、同期メソッドを非同期的に呼び出すことができます。デリゲートを同期的に呼び出すと、Invoke メソッドによって対象メソッドが現在のスレッドで直接呼び出されます。コンパイラが非同期デリゲートをサポートしている場合は、コンパイラによって Invoke メソッド、BeginInvoke メソッド、および EndInvoke メソッドが生成されます。BeginInvoke メソッドが呼び出されると、共通言語ランタイムが要求をキューに置き、その後すぐに呼び出し元に戻ります。対象メソッドは、スレッド プールのスレッドで呼び出されます。要求を送信した元のスレッドは、スレッド プールのスレッドで実行されている対象メソッドと並行して継続実行できます。BeginInvoke でコールバックが指定されている場合は、対象メソッドが戻るとコールバックが呼び出されます。コールバックでは、EndInvoke メソッドを使用して戻り値と In/Out パラメータを取得します。BeginInvoke にコールバックが指定されていない場合は、要求を送信した元のスレッドで EndInvoke を使用できます。

メモ   現在、Microsoft C# コンパイラでは、非同期デリゲートがサポートされています。

このセクションの内容

関連項目