或必须触发一次性方法(void)时,我是否应该从现在开始使用async/await(c# 5)?
当我在 C# 4 中使用 Task 类并将工作推送到 Backgroud 线程时,我是否应该在所有情况下使用它?
我应该只在使用异步 .Net 框架方法的情况下使用它吗?
困惑。
我基本上正在寻找一个简单的解释,在哪些情况下我应该使用 await/async,什么时候不使用。
async
/await
可以在异步操作时使用。许多操作自然是异步的(例如 I/O);我建议async
所有这些。其他操作自然是同步的(例如计算);我建议对这些使用同步方法。
如果需要异步运行同步代码,可以将Task.Run
与async
一起使用进行后台工作。我在我的博客上解释了为什么这比BackgroundWorker
和异步委托更好。
您还可以使用 async
替换其他形式的异步处理,例如 IAsyncResult
样式。
在具有异步操作的任何情况下都应使用 async
。