401 Stimmen

Das Ausführen mehrerer asynchroner Aufgaben und das Warten darauf, dass diese alle abgeschlossen sind

Ich muss mehrere asynchrone Aufgaben in einer Konsolenanwendung ausführen und warten, bis sie alle abgeschlossen sind, bevor ich weiter verarbeite.

Es gibt viele Artikel dazu, aber je mehr ich lese, desto verwirrter werde ich. Ich habe die grundlegenden Prinzipien der Task-Bibliothek gelesen und verstanden, aber offensichtlich fehlt mir irgendwo eine Verbindung.

Ich verstehe, dass es möglich ist, Aufgaben zu verketten, so dass sie nach dem Abschluss einer anderen beginnen (was im Grunde das Szenario für alle Artikel ist, die ich gelesen habe), aber ich möchte alle meine Aufgaben gleichzeitig ausführen lassen und ich möchte wissen, wenn sie alle abgeschlossen sind.

Was ist die einfachste Umsetzung für ein Szenario wie dieses?

-2voto

Fax Punkte 320

Wenn Sie das async/await-Muster verwenden, können Sie mehrere Aufgaben parallel ausführen, wie folgt:

public async Task DoSeveralThings()
{
    // Starte alle Aufgaben
    Task first = DoFirstThingAsync();
    Task second = DoSecondThingAsync();

    // Dann warte auf deren Abschluss
    var firstResult = await first;
    var secondResult = await second;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X