C#等待多线程任务都执行结束

有时为了快速处理多个任务,同时启用多个线程执行,需要等待都执行结束后再执行后面的方法,实现方法如下:


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(); // 模拟工作
        }
    }
}
posted @ 2024-06-15 12:14  QD小天  阅读(342)  评论(0)    收藏  举报