Sobes.tech
Junior — Middle

Vazifa to'plamidagi barcha vazifalar tugashini kutishni qanday amalga oshirish mumkin?

sobes.tech AI

AIdan javob

C# da, barcha vazifalar to'plamini kutish uchun Task.WhenAll metodidan foydalanish mumkin. Bu metod vazifalar massivini yoki to'plamini qabul qiladi va barcha yuborilgan vazifalar tugagach yakunlangan vazifa qaytaradi.

Misol:

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

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // biror ish
    Console.WriteLine($"Vazifa {id} yakunlandi");
}

Agar async/await ishlatmaysiz, Task.WaitAll(tasks) chaqirishingiz mumkin, bu joriy oqimni barcha vazifalar tugaguncha bloklaydi.