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