Task.WaitAll:具有async修饰符且不包含async的Async方法

时间:2019-08-16 08:08:12

标签: c# async-await wait

考虑需要并行运行多个任务:

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)的情况下实现的,会有所不同吗?

0 个答案:

没有答案