Task.Yield Methode

Definition

Erstellt eine erwartbare Aufgabe, die asynchron den aktuellen Kontext zurückgibt, wenn sie erwartet wird.

public:
 static System::Runtime::CompilerServices::YieldAwaitable Yield();
public static System.Runtime.CompilerServices.YieldAwaitable Yield();
static member Yield : unit -> System.Runtime.CompilerServices.YieldAwaitable
Public Shared Function Yield () As YieldAwaitable

Gibt zurück

Ein Kontext, der asynchron zum Zeitpunkt des Wartens wieder in den aktuellen Kontext wechselt. Wenn der aktuelle SynchronizationContext Wert ungleich NULL ist, wird er als aktueller Kontext behandelt. Andernfalls wird der Aufgabenplaner, der dem derzeit ausgeführten Vorgang zugeordnet ist, als aktueller Kontext behandelt.

Hinweise

Sie können in einer asynchronen Methode verwenden await Task.Yield(); , um zu erzwingen, dass die Methode asynchron abgeschlossen wird. Wenn ein aktueller Synchronisierungskontext (SynchronizationContext Objekt) vorhanden ist, wird der Rest der Ausführung der Methode wieder in diesen Kontext zurückgesetzt. Der Kontext entscheidet jedoch, wie diese Arbeit relativ zu anderen Arbeiten priorisiert werden soll, die möglicherweise ausstehen. Der Synchronisierungskontext, der in einem UI-Thread in den meisten UI-Umgebungen vorhanden ist, priorisiert häufig arbeit, die im Kontext veröffentlicht wurde, höher als Eingabe- und Renderingarbeit. Verlassen Sie sich daher nicht darauf await Task.Yield(); , eine Benutzeroberfläche reaktionsfähig zu halten. Weitere Informationen finden Sie im Eintrag Useful Abstractions Enabled with ContinueWith im Parallel Programming with .NET Blog.

Gilt für: