Heim >Backend-Entwicklung >C++ >Wie funktionieren 'Async' und 'Auseit' in der asynchronen Programmierung, ohne Hintergrund -Threads zu lasieren?
in der asynchronen Programmierung
und Verständnis async
await
Viele Entwickler sind verwirrt über den Arbeitsmechanismus von
in der asynchronen Programmierung. Um das Geheimnis ihrer Verwendung zu verstehen, werden wir ihre Mechanismen untersuchen und den Unterschied zwischen ihnen zeigen und Hintergrund -Threads erzeugen. async
await
Klärung
Verwendung async
await
Ihr Beispiel betont die Verwendung von und
async
In Ihrem Code führt der Code nach dem Start "dosomethingAsync ()" weiterhin Vorgänge aus, die nicht mit der Aufgabe zusammenhängen. Die Variable "Zugriff" enthält die Aufgabe, die enden wird. Beim Erreichen der Anweisung "Warte Access" wird der Code suspendiert und den aktuellen Thread veröffentlicht. await
async
Verstehen Sie die Hintergrundausführung
Im Gegensatz zu Ihren Annahmen wird "dosomethingAsync ()" nicht im Hintergrund -Thread ausgeführt. Es verwendet den aktuellen Faden und startet den ruhenden Betrieb. Nach Abschluss fördert die Statusmaschine die Ausführung und ermöglicht es, weiterhin "Button1_Click" auszuführen.
Ein umfassenderes asynchrones Beispiel
Um ein klareres Verständnis zu vermitteln
in dieser Szene:
"myMethodasync ()" beginnt "longruningoperationAsync ()".unabhängige Arbeiten von Executive ermöglicht es dem Haupt -Thread, weiterzumachen.
<code class="language-csharp">public async Task MyMethodAsync() { Task<int> longRunningTask = LongRunningOperationAsync(); // 这里可以进行独立的工作... // 等待长时间运行的任务 int result = await longRunningTask; // 使用结果... } public async Task<int> LongRunningOperationAsync() { await Task.Delay(1000); // 1秒延迟 return 1; }</code>
Bei der Begegnung "Warte auf Longrunntask" wird der Haupt -Thread die Aufhängung veröffentlicht und ausführt.
Das obige ist der detaillierte Inhalt vonWie funktionieren 'Async' und 'Auseit' in der asynchronen Programmierung, ohne Hintergrund -Threads zu lasieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!