Junior — Middle
¿Cómo implementar la espera a que finalicen todas las tareas de un conjunto de tareas?
sobes.tech AI
Respuesta de la IA
En C#, para esperar a que finalicen todas las tareas de un conjunto, se puede usar el método Task.WhenAll. Este método acepta un array o colección de tareas y devuelve una tarea que se completa cuando todas las tareas pasadas como argumento han finalizado.
Ejemplo:
Task[] tasks = new Task[]
{
Task.Run(() => DoWork(1)),
Task.Run(() => DoWork(2)),
Task.Run(() => DoWork(3))
};
await Task.WhenAll(tasks);
void DoWork(int id)
{
// algún trabajo
Console.WriteLine($"Tarea {id} completada");
}
Si no estás usando async/await, puedes llamar a Task.WaitAll(tasks), que bloquea el hilo actual hasta que todas las tareas hayan finalizado.