直接呼叫等待任务。 C#

时间:2017-08-28 18:59:12

标签: c# async-await

我正在学习await / async。我有一个问题: 直接在任务上调用await并稍后调用它之间有区别吗?

var task = getAllAsync();
...
var list = await task;

OR

var list = await getAllAsync();

如果有差异,那是什么?

1 个答案:

答案 0 :(得分:4)

如果您在分配"任务"之后立即等待;变量没有区别。如果在方法调用和等待之间有代码,则有机会并行执行操作。

大多数任务都是创建的,而且#34; hot" - 他们已经开始操作(如阅读文件)。因此,如果您在await之前有一些代码,则代码可能会执行,而任务启动的操作将单独进行。即您可以启动多项任务,而不是等待所有任务完成 - Running multiple async tasks and waiting for them all to complete