有时为了快速处理多个任务,同时启用多个线程执行,需要等待都执行结束后再执行后面的方法,实现方法如下:
点击查看代码
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var task1 = Task.Run(() => DoWork("Task 1"));
var task2 = Task.Run(() => DoWork("Task 2"));
// 等待所有任务完成
await Task.WhenAll(task1, task2);
Console.WriteLine("所有任务已完成.");
}
static void DoWork(string name)
{
// 模拟长时间运行的任务
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"{name} 正在执行...");
Task.Delay(200).Wait(); // 模拟工作
}
}
}