Back to questions
Andersen
Junior — Middle
64
Каким образом реализовать ожидание завершения всех задач из набора задач?
Companies where asked
Answer from AI
sobes.tech AI
В C# для ожидания завершения всех задач из набора можно использовать метод Task.WhenAll. Он принимает массив или коллекцию задач и возвращает задачу, которая завершается, когда все переданные задачи завершены.
Пример:
Task[] tasks = new Task[]
{
Task.Run(() => DoWork(1)),
Task.Run(() => DoWork(2)),
Task.Run(() => DoWork(3))
};
await Task.WhenAll(tasks);
void DoWork(int id)
{
// какая-то работа
Console.WriteLine($"Task {id} completed");
}
Если вы не используете async/await, можно вызвать Task.WaitAll(tasks), который блокирует текущий поток до завершения всех задач.