c#異步線(xiàn)程如何實(shí)現(xiàn)等待所有任務(wù)

c#
小樊
158
2024-06-24 10:23:25

要實(shí)現(xiàn)等待所有異步任務(wù)完成,可以使用Task.WhenAll方法。這個(gè)方法接受一個(gè)Task數(shù)組作為參數(shù),然后返回一個(gè)新的Task,該任務(wù)在所有輸入任務(wù)都完成時(shí)完成。

示例代碼如下:

using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        Task task1 = Task.Delay(1000);
        Task task2 = Task.Delay(2000);
        Task task3 = Task.Delay(3000);

        // 等待所有任務(wù)完成
        await Task.WhenAll(task1, task2, task3);

        Console.WriteLine("All tasks have completed.");
    }
}

在上面的示例中,我們創(chuàng)建了三個(gè)異步任務(wù)task1、task2和task3,并使用Task.WhenAll方法等待它們?nèi)客瓿伞R坏┧腥蝿?wù)完成,程序?qū)⑤敵?quot;All tasks have completed"。

0