Heim > Artikel > Backend-Entwicklung > C# | Asynchrone Programmierung mit [async | warten | Aufgabe]
Note You can check other posts on my personal website: https://hbolajraf.net
In C# wird asynchrone Programmierung verwendet, um die Reaktionsfähigkeit von Anwendungen zu verbessern, indem Aufgaben gleichzeitig ausgeführt werden können, ohne den Hauptthread zu blockieren. Die Schlüsselwörter „await“ und „async“ spielen dabei eine entscheidende Rolle. Dieser Leitfaden zeigt Ihnen, wie Sie Wait und Async Task effektiv nutzen.
Asynchrone Programmierung in C# ist für Aufgaben unerlässlich, die viel Zeit in Anspruch nehmen können, wie z. B. E/A-gebundene Vorgänge oder Netzwerkanforderungen. Durch die Verwendung von „await“ und „async“ können Sie sicherstellen, dass Ihre Anwendung reagiert, während sie auf den Abschluss dieser Aufgaben wartet.
public async Task MyAsyncMethod() { // Asynchronous code here }
await MyAsyncMethod();
Das Schlüsselwort „await“ wird innerhalb einer asynchronen Methode verwendet, um die Ausführung anzuhalten, bis die erwartete Aufgabe abgeschlossen ist. Dadurch kann der aufrufende Thread andere Arbeiten ohne Blockierung fortsetzen.
async Task MyAsyncMethod() { var result = await SomeAsyncTask(); // Code after the await will execute when SomeAsyncTask is completed. }
Um Ausnahmen in asynchronen Methoden zu behandeln, können Sie Standard-Try-Catch-Blöcke verwenden. Wenn eine Ausnahme in einer asynchronen Methode ausgelöst wird, wird sie erfasst und als Teil der Aufgabe weitergegeben.
try { await SomeAsyncMethod(); } catch (Exception ex) { // Handle the exception }
Um einen asynchronen Vorgang abzubrechen, können Sie CancellationToken verwenden. Übergeben Sie ein CancellationToken an die asynchrone Methode und prüfen Sie, ob innerhalb der Methode ein Abbruch erfolgt.
async Task MyAsyncMethod(CancellationToken cancellationToken) { // Check for cancellation cancellationToken.ThrowIfCancellationRequested(); // Continue with the operation }
Hier ist ein Beispiel für ein häufiges Szenario aus der Praxis: asynchrones Erstellen einer HTTP-Anfrage.
public async Task<string> FetchDataAsync(string url) { using (var httpClient = new HttpClient()) { var response = await httpClient.GetAsync(url); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } }
Durch die Verwendung von „await“ und „async Task“ in C# können Sie reaktionsfähige und effiziente Anwendungen schreiben, insbesondere wenn Sie E/A-gebundene oder lang laufende Aufgaben bearbeiten. Es ermöglicht Ihnen, die Reaktionsfähigkeit Ihrer Anwendung aufrechtzuerhalten und das allgemeine Benutzererlebnis zu verbessern, indem Sie die gleichzeitige Ausführung mehrerer Aufgaben ermöglichen, ohne den Hauptthread zu blockieren.
Das obige ist der detaillierte Inhalt vonC# | Asynchrone Programmierung mit [async | warten | Aufgabe]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!