12

メソッドの結果をすぐに必要としない場合 (Task<>)、または 1 回限りのメソッド (void) を起動する必要がある場合は、毎回 async/await (c# 5) を使用する必要がありますか?

C# 4 で Task クラスを使用し、作業をバックグラウンド スレッドにプッシュした場合、すべてのケースでそれを使用する必要がありますか?

非同期の .Net Framework メソッドを使用した場合にのみ使用する必要がありますか?

混乱している。

基本的に、await/async を使用する必要がある場合と使用しない場合の簡単な説明を探しています。

4

1 に答える 1

11

async/は、非同期操作awaitを行う場合に使用できます。多くの操作は本来非同期です (I/O など)。そんな方におすすめです。他の操作は当然同期的です (計算など)。それらには同期メソッドを使用することをお勧めします。async

同期コードを非同期で実行する必要がある場合は、バックグラウンド作業Task.Runに withを使用できます。これが非同期デリゲートよりも優れてasyncいる理由をブログで説明しています。BackgroundWorker

asyncスタイルなど、他の形式の非同期処理を置き換えるために使用することもできますIAsyncResult

非同期操作を行うあらゆる状況で使用する必要があります。async

于 2012-10-01T14:32:45.000 に答える