Task.Yield Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.