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), որը կլոկավորում է ընթացիկ հոսքը մինչև բոլոր առաջադրանքների ավարտը։