我何时应该使用async/await而不是什么时候?

rud*_*ter 8 multithreading asynchronous async-await c#-5.0

我是否应该从现在开始使用async/await(c#5)每当我不需要方法的结果(Task <>)或者我必须触发一次性方法(void)?

当我在C#4中使用Task类并将工作推送到Backgroud线程时,我是否应该在所有情况下使用它?

我应该只在我使用异步.Net Framework方法的情况下使用它吗?

困惑.

我基本上是在寻找一个简单的解释,在这种情况下,我应该使用await/async,何时不使用.

Ste*_*ary 9

async/您await可以在进行异步操作时使用.许多操作自然是异步的(例如I/O); 我建议async所有这些.其他操作自然是同步的(例如计算); 我建议使用同步方法.

如果需要异步运行同步代码,可以使用Task.Runwith async进行后台工作.我在博客上解释为什么这BackgroundWorker异步委托更好.

您还可以使用async替换其他形式的异步处理,例如IAsyncResult样式.

应该使用async在你有一个异步操作的任何情况.