Sobes.tech
Junior — Middle

Ինչպե՞ս իրականացնել սպասումը բոլոր առաջադրանքների ավարտին մի շարք առաջադրանքներից։

sobes.tech AI

Պատասխան AI-ից

C#-ում, բոլոր առաջադրանքների հավաքից ավարտին սպասելու համար, դուք կարող եք օգտագործել Task.WhenAll մեթոդը: Այս մեթոդը ընդունում է առաջադրանքների զանգված կամ հավաքածու և վերադարձնում է առաջադրանք, որը ավարտվում է, երբ բոլոր փոխանցված առաջադրանքները ավարտված են:

Օրինակ՝

Task[] tasks = new Task[]
{
    Task.Run(() => DoWork(1)),
    Task.Run(() => DoWork(2)),
    Task.Run(() => DoWork(3))
};

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // որոշ աշխատանք
    Console.WriteLine($"Առաջադրանք {id} ավարտվեց");
}

Եթե դուք async/await չեք օգտագործում, կարող եք կանչել Task.WaitAll(tasks), որը կլոկավորում է ընթացիկ հոսքը մինչև բոլոր առաջադրանքների ավարտը։