Heim >Backend-Entwicklung >C++ >Async/warte gegen den Hintergrundwerk in .NET: Wann sollte ich welches verwenden?
.NET 4.5 und C# 5 führten Async/Auseait ein, was Fragen zu den Anwendungsfällen mit vorhandener Hintergrundarbeitsplatzklasse auslöste. Dieser Artikel zielt darauf ab, den Unterschied zwischen den beiden zu klären und die Entwickler zu leiten, die am besten geeignete Methode für ihre Szenen auszuwählen.
Async/Await ermöglicht es dem Code, asynchron auszuführen, ohne den UI -Thread zu blockieren. Es hilft, effizient umzugehen, um viel Zeit für die Fertigstellung zu tun, wodurch keine Antwortschnittstelle verhindert wird. Warten Sie die Grammatik ermöglicht es den Entwicklern, die Implementierung zu suspendieren, bis der asynchrone Betrieb abgeschlossen ist. Hintergrundworker: Einzel -Task -Thread -Verarbeitung im Hintergrund
Andererseits ist der Hintergrundworker für die Aufgabe ausgelegt, die in einem separaten Thread -Pool (weg vom UI -Thread) ausgeführt werden muss. Es enthält Fortschrittsberichte und Mechanismen zur Vervollständigung von Benachrichtigungen.
Vergleich und gemeinsame Szenen
Obwohl Async/Warte- und Hintergrundarbeiter unterschiedliche Zwecke dienen und nicht direkt verglichen werden können, kann jede Methode in einigen Fällen besser geeignet sein.
asynchron/wartet die anwendbare Szene:
nicht blockierende asynchrone Operationen, die keine Fortschrittsberichte erfordern (z. B. Netzwerk -E/O)
Die einfache Operation, die nur geringe Auswirkungen auf die Reaktionsfähigkeit der UI hat Szenen, die für die Verwendung von Ressourcen im asynchronen Kontext von entscheidender Bedeutung sind
storniert Sie müssen die Hintergrund -WorkSPlay -Komponente im Design -Diagramm ziehen und fallen lassen.
Das obige ist der detaillierte Inhalt vonAsync/warte gegen den Hintergrundwerk in .NET: Wann sollte ich welches verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!