Asynchrone Methoden aus Main aufrufen: Eine umfassende Anleitung
Einführung
Die Frage stellt sich, wann Ein Entwickler muss eine asynchrone Methode aus einem herkömmlichen synchronen Kontext wie der Main-Methode aufrufen. Diese Situation taucht häufig auf, wenn man den Bereich der asynchronen Programmierung in C# erforscht.
Problem
Angesichts der folgenden asynchronen Methode:
public class test { public async Task Go() { // ... various async operations } }
Die Es entsteht ein Dilemma, wenn man versucht, Go über die Main-Methode, den synchronen Eintrag des Programms, aufzurufen Punkt.
Lösung
In C# 7.1 und späteren Versionen ist der Aufruf einer asynchronen Methode von Main aus unkompliziert:
static async Task Main(string[] args) { test t = new test(); await t.Go(); Console.WriteLine("finished"); Console.ReadKey(); }
Dieser Code stellt dies sicher Die asynchronen Vorgänge von Go werden abgeschlossen, bevor das Programm beendet ist.
Für C#-Versionen vor 7.1 gilt ein anderer Ansatz notwendig:
static void Main(string[] args) { test t = new test(); t.Go().Wait(); Console.WriteLine("finished"); Console.ReadKey(); }
Der Aufruf von Wait() blockiert den aktuellen Thread, bis die asynchronen Vorgänge von Go abgeschlossen sind.
Vorteile von Async-Methoden
Eliminierung von Rückrufen, Dies kann den Code komplex und schwierig zu warten machen und ist ein wesentlicher Vorteil der asynchronen Programmierung mit dem Schlüsselwort async. Es ermöglicht einen sauberen und sequentiellen Ausführungsablauf und ermöglicht gleichzeitig die gleichzeitige Ausführung anderer Vorgänge.
Das obige ist der detaillierte Inhalt vonWie rufe ich eine asynchrone Methode von einer synchronen Hauptmethode in C# auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!