Hans によるこの質問と回答を読んでいましたが、まだ説明が必要です。
私の知る限り 、
非同期メソッドの目的は、多くのタスクを少数のスレッドで実行できるようにすることです。一方、非同期デリゲートの目的は、呼び出し元と並行してタスクを実行することです。
しかし、両方の非同期操作に関して:
呼び出し元にすぐBeginInvoke
に戻る場合(そして Asynchronous delegateを使用する場合)、実際にジョブを実行し、終了時に通知する他のスレッドが必要です。
では、そのスレッドを通常のスレッドプールスレッドに使用することの違いは何ですか? そして私は答えます: それらのスレッドプールのスレッドが既にそこにあり、実行されるのを待っているという事実だけですか?
しかし、BeginInvoke
実行してすぐに戻ったときに、他の誰かが実際に汚い仕事をしているという事実はどうですか(そして、コードは処理中のスレッドの下で実行する必要があります) 。電話)
私は何が欠けていますか?