Sobes.tech
Junior — Middle

Wie implementiert man das Warten auf den Abschluss aller Aufgaben in einem Aufgaben-Set?

sobes.tech KI

Antwort von AI

In C# kann man zum Warten auf den Abschluss aller Aufgaben in einer Gruppe die Methode Task.WhenAll verwenden. Diese akzeptiert ein Array oder eine Sammlung von Aufgaben und gibt eine Aufgabe zurück, die abgeschlossen wird, wenn alle übergebenen Aufgaben beendet sind.

Beispiel:

Task[] tasks = new Task[]
{
    Task.Run(() => DoWork(1)),
    Task.Run(() => DoWork(2)),
    Task.Run(() => DoWork(3))
};

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // irgendeine Arbeit
    Console.WriteLine($"Aufgabe {id} abgeschlossen");
}

Wenn Sie kein async/await verwenden, können Sie Task.WaitAll(tasks) aufrufen, das den aktuellen Thread blockiert, bis alle Aufgaben abgeschlossen sind.