考虑需要并行运行多个任务:
var task1 = GetSomethingAsync(1);
var task2 = GetSomethingAsync(2);
var task3 = GetSomethingAsync(3);
Task.WaitAll(task1, task2, task3);
这两个变体之间有什么区别?
public Task<int> GetSomethingAsync(int i)
{
return SomethingAsync(i);
}
和
public async Task<int> GetSomethingAsync(int i)
{
return await SomethingAsync(i);
}
这里的要点是我们希望同时等待所有任务。
如果方法GetSomethingAsync
是在有或没有async
修饰符(以及附带的await
)的情况下实现的,会有所不同吗?