我有这样的方法:
private async Task DoSomething()
{
// long running work here.
}
当我调用这样的方法时,它会阻止 UI:
Task t = DoSomething();
我必须执行其中一项以使其成为非阻塞:
Task t = new Task(() => DoSomething());
t.Start();
// Or
Task t = Task.Factory.StartNew(() => DoSomething());
那么,当您可以像在框架 4 中一样使用任务并使用它们Task.Wait()
代替时,异步/等待的意义await
何在?
编辑:我理解你所有的答案 - 但没有一个真正解决我的最后一段。谁能给我一个基于任务的多线程示例,其中 async / await 提高了程序的可读性和/或流程?