作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想编写一个运行多个线程的方法,并且我希望在我的方法结束之前使用 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
}
我该怎么做?
最佳答案
执行此操作的async
方法是让您的方法返回一个Task
,然后该方法的调用者将await
(或Wait()
) 它。您的方法可能如下所示:
private async Task SomeWork()
{
var a = doWork1();
var b = doWork2();
var c = doWork3();
var d = doWork4();
...
await Task.WhenAll(a, b, c, d);
}
关于c# - 如何运行多个线程并等待完成所有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9870348/
我是一名优秀的程序员,十分优秀!