Heim > Backend-Entwicklung > C++ > Wann sollte ich „Task.Run' mit Async und Await verwenden?

Wann sollte ich „Task.Run' mit Async und Await verwenden?

Barbara Streisand
Freigeben: 2025-01-04 12:01:35
Original
393 Leute haben es durchsucht

When Should I Use `Task.Run` with Async and Await?

Async und Await entmystifiziert: Das Task.Run-Rätsel vermeiden

Async und Wait zu verstehen kann zunächst schwierig sein, aber die Konzepte aufzuschlüsseln kann den Prozess vereinfachen.

Asynchroner vs. Hintergrund-Thread Ausführung

Asynchron bedeutet nicht unbedingt „Hintergrundthread“; es bezieht sich auf Methoden, die es ermöglichen, die Kontrolle an den aufrufenden Thread zu übergeben, bevor fortgefahren wird. Diese Ertragspunkte sind mit Warteausdrücken markiert.

Awaitable vs. Async

Auf erwartbare Typen kann gewartet werden (wie in Warteausdrücken), während asynchrone Methoden asynchrone Methoden ermöglichen Ausführung. Nicht alle asynchronen Methoden geben erwartbare Typen zurück und umgekehrt.

Task.Run für Hintergrundausführung

Wenn Sie einen Vorgang in einem Hintergrundthread ausführen und durchführen möchten Erwartbar, verwenden Sie Task.Run:

private Task<int> DoWorkAsync() 
{
    return Task.Run(() => 1 + 2); 
}
Nach dem Login kopieren

Async Methods for Nachgeben

Erstellen Sie asynchrone Methoden, die dem Aufrufer etwas zurückgeben, indem Sie „await“ und „async“ in der Methodensignatur verwenden:

private async Task<int> GetWebPageHtmlSizeAsync()
{
    var client = new HttpClient();
    var html = await client.GetAsync("http://www.example.com/");
    return html.Length;
}
Nach dem Login kopieren

Task.Run in synchronen Methoden vermeiden

Es wird nicht empfohlen, synchrone Methoden in Task.Run einzubinden. Wenn Sie die Ausführung in einem Hintergrundthread durchführen müssen, erstellen Sie eine separate Aufgabe.

Ressourcen für weitere Untersuchungen

  • [Async/Await Introduction on M. Thaddeus Payne's Blog](https://blog.m-thaddeus.com/async- and-await-simplified-an- Einleitung/)
  • [MSDN-Dokumentation zur asynchronen Programmierung](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/)

Das obige ist der detaillierte Inhalt vonWann sollte ich „Task.Run' mit Async und Await verwenden?. 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