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 Awaitable-Aufgabe, die asynchron an den aktuellen Kontext liefert, wenn erwartet.
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 während des Abwartens asynchron wieder in den aktuellen Kontext zum Zeitpunkt des Abwartens übergeht. Wenn der aktuelle SynchronizationContext nicht Null ist, wird er als der aktuelle Kontext behandelt. Andernfalls wird der Taskplaner, der der aktuell ausgeführten Aufgabe zugeordnet ist, als der aktuelle 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 zurück in diesen Kontext gesendet. Der Kontext entscheidet jedoch, wie diese Arbeit im Verhältnis zu anderen Arbeiten priorisiert werden soll, die möglicherweise ausstehend sind. Der Synchronisierungskontext, der in den meisten Benutzeroberflächenumgebungen in einem UI-Thread vorhanden ist, priorisiert häufig Die arbeit, die im Kontext bereitgestellt wird, höher als Eingabe- und Renderingarbeit. Verlassen Sie sich aus diesem Grund nicht darauf await Task.Yield();
, eine Benutzeroberfläche reaktionsfähig zu halten. Weitere Informationen finden Sie im Blog Zur parallelen Programmierung mit .NET den Eintrag Nützliche Abstraktionen, die mit ContinueWith aktiviert sind.