Heim >Backend-Entwicklung >C++ >Wie kann ich synchron eine asynchrische Aufgabenmethode in C#ausführen?
Führen Sie gleichzeitig C#Asynchronische Aufgabe
Methode
await
Es gibt viele Möglichkeiten, dies zu erreichen, aber nicht alle Methoden sind für alle Szenen geeignet. Hier sind einige gemeinsame Methoden:
Blockieren des aktuellen Fadens, bis der asynchrone Betrieb abgeschlossen ist. Wenn die Aufgabe jedoch auf demselben Thread ausgeführt wird, der darauf wartet, kann sie zu einem Deadlock führen.
Methode 2: Verwenden Sie Task.runsynachronous () Methode Task.Wait()
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.Wait();</code>
Methode 3: Verwenden Sie TaskCompletionsource Klasse
Task.RunSynchronously()
Ermöglicht manuelle Erstellungsaufgaben und erledigt sie nach Abschluss des asynchronen Betriebs.
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.RunSynchronously();</code>
Methode 4: Verwenden Sie die benutzerdefinierte Hilfsklasse
TaskCompletionSource<T>
Der beste Weg hängt von bestimmten Szenarien und Anwendungsanforderungen ab. Betrachten Sie bei der Auswahl eines synchronen Ausführungsmechanismus unbedingt potenzielle tote Schlösser und Leistungseffekte.
Das obige ist der detaillierte Inhalt vonWie kann ich synchron eine asynchrische Aufgabenmethode in C#ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!