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) деп чакыра аласыз, ал учурдагы агымды бардык тапшырмалар аяктагандан кийин токтотот.