【发布时间】:2014-10-05 03:12:12
【问题描述】:
为什么可以在 C# 中做到这一点?
var task = Task.Run (...);
await task;
Task.Run() 不应该用于 CPU 绑定代码吗?为此打电话await有意义吗?
即,在调用Task.Run 之后,我了解到该任务正在线程池的另一个线程中运行。打电话await的目的是什么?打电话给task.Wait()不是更有意义吗?
最后一个问题,我的第一印象是await 旨在专门用于async 方法。用于Task.Run()返回的任务是否常见?
编辑。这也让我想知道,为什么我们有Task.Wait () 而不是Task.Await()。我的意思是,为什么Wait() 使用方法,await 使用 keyworkd。在这两种情况下使用方法不是更一致吗?
【问题讨论】:
标签: c# .net task-parallel-library async-await