Junior — Middle
Hoe implementeer je het wachten op de voltooiing van alle taken in een takenreeks?
sobes.tech AI
Antwoord van AI
In C# kun je om te wachten tot alle taken in een set voltooid zijn, de methode Task.WhenAll gebruiken. Deze accepteert een array of collectie van taken en geeft een taak terug die voltooid wordt wanneer alle meegegeven taken klaar zijn.
Voorbeeld:
Task[] tasks = new Task[]
{
Task.Run(() => DoWork(1)),
Task.Run(() => DoWork(2)),
Task.Run(() => DoWork(3))
};
await Task.WhenAll(tasks);
void DoWork(int id)
{
// wat werk
Console.WriteLine($"Taak {id} voltooid");
}
Als je geen gebruik maakt van async/await, kun je Task.WaitAll(tasks) aanroepen, dat de huidige thread blokkeert totdat alle taken voltooid zijn.