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.