【发布时间】:2016-09-25 07:01:19
【问题描述】:
我是 async/await 的新手,我想确保这种做法是正确的:
public async Task DoHeavyWorkAsync()
{
await Task.Run(() => {
getResponseFromFarawaySlowServerAndDoSomethingWithIt();
});
}
public async void ConsumeAsync()
{
Task longRunningTask = DoHeavyWorkAsync();
// do a lot of other stuffs here that does not depend on DoHeavyWorkAsync()
await longRunningTask;
}
这种使用 async/await 的方式是正确的还是我做错了什么?
【问题讨论】:
-
为什么在需要时才启动它?
-
这段代码无法编译,您在
ConsumeAsync中缺少async关键字 -
这是桌面应用还是网络应用?
-
这是一个桌面应用程序
-
如果您能够使
getResponseFromFarawaySlowServerAndDoSomethingWithIt异步,请执行此操作,而不是用Task.Run包装它。
标签: c# .net asynchronous async-await task-parallel-library