C# | Asynchrone Programmierung mit [async | warten | Aufgabe]

WBOY
Freigeben: 2024-07-23 21:49:44
Original
776 Leute haben es durchsucht

C# | Asynchronous programming with [async | await | Task]

Note
You can check other posts on my personal website: https://hbolajraf.net

Verwenden von Wait und Async Task in C

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.

Einführung

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.

Verwenden einer asynchronen Aufgabe

  1. Definieren Sie eine asynchrone Methode: Um „await“ zu verwenden, definieren Sie eine asynchrone Methode innerhalb einer Klasse, die normalerweise eine Aufgabe oder Task zurückgibt.
public async Task MyAsyncMethod() { // Asynchronous code here }
Nach dem Login kopieren
  1. Asynchrone Methode aufrufen: In einer anderen Methode können Sie Ihre asynchrone Methode mit dem Schlüsselwort „await“ aufrufen.
await MyAsyncMethod();
Nach dem Login kopieren

Das Schlüsselwort „await“.

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. }
Nach dem Login kopieren

Ausnahmebehandlung

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 }
Nach dem Login kopieren

Stornierungstoken

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 }
Nach dem Login kopieren

Beispiel aus der Praxis

Hier ist ein Beispiel für ein häufiges Szenario aus der Praxis: asynchrones Erstellen einer HTTP-Anfrage.

public async Task FetchDataAsync(string url) { using (var httpClient = new HttpClient()) { var response = await httpClient.GetAsync(url); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } }
Nach dem Login kopieren

Was kommt als Nächstes?

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!