.NET 4.5 und C# 5 führten async/actoit -Funktionen ein, die neue Optionen für die asynchrone Programmierung mit sich brachten und auch einen Vergleich mit dem Hintergrundwerk der alten Hintergrund -Task -Management -Toolarbeiter ausgelöst haben. Beide werden verwendet, um asynchrone Operationen zu behandeln, aber ihre Rolle und Anwendungsszenarien sind sehr unterschiedlich.
asynchron/wartet: Warten asynchron
asynchron/wartet eine Sprachgrammatik, die die asynchrone Programmierung vereinfacht. Es ermöglicht Entwicklern, asynchronen Code zu schreiben, das gleichzeitig ausgeführt wird, ohne UI -Threads zu blockieren, um die Reaktion der UI zu gewährleisten. Async/Auseait basiert normalerweise auf der Aufgabe Asynchronous Modus (TAP), die asynchrone Operationen und seinen Fortsetzungsmechanismus enthält.
Hintergrundarbeiter: Backstage Task Management
Hintergrundworker wird verwendet, um langfristige Betriebsaufgaben in den Hintergrund -Threads zu verwalten, die unabhängig vom UI -Thread sind. Es bietet einen einfachen Mechanismus, der den starken Betrieb mit dem Hintergrund deinstalliert, ohne die Reaktionsgeschwindigkeit der UI zu beeinflussen. Der Hintergrundarbeiter verfügt über einen gebauten Bericht über den Fortschritt und eine Stornierungsfunktion, die die Realisierung asynchroner Aufgaben vereinfacht. Wann verwendet Async/wartet
asynchronisiert/wartet besonders für die folgenden Szenen geeignet:
E/A -Operationen müssen asynchron ausgeführt werden, z. B. das Erhalten von Daten aus Netzwerkdiensten oder das Lesen von Dateien.
Verwenden Sie eine asynchrone Kommission oder einen Vorfall, damit asynchron die bestehenden Operationen fortgesetzt werden können.
Der berechnungsdichte Prozess, der im Hintergrund ausgeführt werden muss.
Sie müssen den Fortschritt melden oder den Vorgang aus dem UI -Thread abbrechen.Sie müssen eine große Anzahl von Arbeiten in einem separaten Thread deinstallieren, um das Einfrieren der Benutzeroberfläche zu vermeiden.
Async/wartet hauptsächlich auf asynchrones Programmieren und verwendet TAP, um Vorgänge auszuführen. async/wait eignet sich für die Interaktion mit E/A -Operationen und anderen asynchronen Strukturen, während der Hintergrund für lange Betriebsaufgaben ausgelegt ist, die möglicherweise nicht asynchronen Operationen beinhalten.
Async/Awit und C#Sprachsyntax sind nahtlos und bieten einfache und elegante asynchrone Code -Schreibmethoden.
Das obige ist der detaillierte Inhalt vonAsync/Awit vs. Hintergrundworker: Wann sollte ich die für asynchrone Operationen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!