我想编写一个方法,可以运行多个线程,并且在方法结束之前,使用 async/await
确保它们全部完成。我该如何实现?
请考虑以下伪代码:
private async void SomeWork()
{
var a = doWork1();
var b = doWork2();
var c = doWork3();
var d = doWork4();
...
//I want to assure that all of above thread are complete using `C#-5` new features
}
我该如何做到这一点?
Task.WaitAll()
是一个params
方法,因此您可以简单地调用它,如Task.WaitAll(a, b, c, d)
。 - svick