Junior — Middle
Kako implementirati čekanje na završetak svih zadataka iz skupa zadataka?
sobes.tech АИ
Одговор од АИ
U C#-u, za čekanje na završetak svih zadataka iz skupa, možete koristiti metodu Task.WhenAll. Ona prihvata niz ili kolekciju zadataka i vraća zadatak koji se završava kada su sve prosleđene zadatke završene.
Primer:
Task[] tasks = new Task[]
{
Task.Run(() => DoWork(1)),
Task.Run(() => DoWork(2)),
Task.Run(() => DoWork(3))
};
await Task.WhenAll(tasks);
void DoWork(int id)
{
// neki posao
Console.WriteLine($"Zadatak {id} završen");
}
Ako ne koristite async/await, možete pozvati Task.WaitAll(tasks), što blokira trenutni tok dok se svi zadaci ne završe.