Heim > Backend-Entwicklung > C++ > Wie vereinfachen 'Async' und 'Await' die asynchrone Programmierung in C#?

Wie vereinfachen 'Async' und 'Await' die asynchrone Programmierung in C#?

Linda Hamilton
Freigeben: 2025-02-02 18:52:35
Original
249 Leute haben es durchsucht

How Do `async` and `await` Simplify Asynchronous Programming in C#?

C#Asynchrones Programmieren

und : Vereinfachen Sie asynchrone Operationen async await Asynchrones Programmieren ermöglicht es Code, gleichzeitig auszuführen, ohne den Haupt -Thread zu blockieren.

und Schlüsselwörter vereinfachen das Schreiben und Verständnis asynchroner Operationen.

async im Vergleich zum Hintergrund -Thread await

Im Gegensatz zu den traditionellen Hintergrund -Threads, die unabhängig sind, verwenden und die vom Compiler im Hintergrund erzeugte

Statusmaschine

. Der Fortschritt dieses staatlichen Maschinenverfolgungs asynchroner Betrieb ermöglicht es dem Hauptfaden, nach Abschluss des Hintergrundvorgangs fortzufahren. async await Beispieldetails

Im Beispiel

button1_click ist die Methode als gekennzeichnet, da sie eine asynchrone Operation doomethingAsync enthält. Wenn DoSomethingAsync im Hintergrund ausgeführt wird (der spezifische Thread hängt von der Thread -Pool -Konfiguration ab), hält der UI -Thread die Antwort und die Benutzer können weiterhin mit der Anwendung interagieren.

Diese Codezeile wird nach Dosendosenabschluss abgeschlossen und der Haupt -Thread wird nach der -Grammatikempfangsergebnisse ausgeführt. Dies bedeutet, dass der Code nach erst nach Abschluss der asynchronen Operation ausgeführt wird. async

und

Die Zersetzung von Funktionen int a = 1; await await Die folgenden Beispiele zeigen den Ausführungsprozess weiterhin mit

und

: async await myMethodasync beginnt die LongRunningoperationAsync im Hintergrund auszuführen und zu starten.

Der Haupt -Thread wird unabhängig ausgeführt, während LongrunningoperationAsync im Hintergrund ausgeführt wird. async await Wenn die LongRunningoperationAsync abgeschlossen ist, wird der Hauptfaden wieder aufgenommen und vom Interrupt fortgesetzt.

<code class="language-csharp">public async Task MyMethodAsync()
{
    Task<int> longRunningTask = LongRunningOperationAsync();
    // 这里可以执行其他独立的工作
    int result = await longRunningTask;
    // 这里使用result
}

public async Task<int> LongRunningOperationAsync()
{
    await Task.Delay(1000);
    return 1;
}</code>
Nach dem Login kopieren
Das Ergebnis des Computercharakters holt die Ergebnisse der LongRunningoperationAsync ab und speichern Sie es in der Variablen
    .
  1. Der Haupt -Thread führt weiterhin aus und verwendet die Ergebnisse aus asynchronen Operationen.

Das obige ist der detaillierte Inhalt vonWie vereinfachen 'Async' und 'Await' die asynchrone Programmierung in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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 Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage