Task.Yield Task.Yield Task.Yield Task.Yield Method

Definition

Erstellt einen Awaitable-Task, das asynchron an den aktuellen Kontext liefert, wenn erwartet wird.Creates an awaitable task that asynchronously yields back to the current context when awaited.

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.A context that, when awaited, will asynchronously transition back into the current context at the time of the await. Wenn der aktuelle SynchronizationContext nicht Null ist, wird er als der aktuelle Kontext behandelt.If the current SynchronizationContext is non-null, it is treated as the current context. Andernfalls wird der Taskplaner, der mit der aktuell ausgeführten Aufgabe zugeordnet ist, als der aktuelle Kontext behandelt.Otherwise, the task scheduler that is associated with the currently executing task is treated as the current context.

Hinweise

Sie können in await Task.Yield(); einer asynchronen-Methode verwenden, um zu erzwingen, dass die-Methode asynchron ausgeführt wird.You can use await Task.Yield(); in an asynchronous method to force the method to complete asynchronously. Wenn ein aktueller Synchronisierungs Kontext (SynchronizationContext -Objekt) vorhanden ist, wird der Rest der Ausführung der Methode wieder in diesem Kontext bereitstellt.If there is a current synchronization context (SynchronizationContext object), this will post the remainder of the method's execution back to that context. Der Kontext entscheidet jedoch, wie diese Arbeit in Relation zu anderen ausstehenden Aufgaben priorisiert werden soll.However, the context will decide how to prioritize this work relative to other work that may be pending. Der Synchronisierungs Kontext, der in den meisten Benutzeroberflächen Umgebungen in einem UI-Thread vorhanden ist, priorisiert häufig Aufgaben, die im Kontext bereitgestellt werden, die höher als die Eingabe-und RenderingThe synchronization context that is present on a UI thread in most UI environments will often prioritize work posted to the context higher than input and rendering work. Verlassen await Task.Yield(); Sie sich aus diesem Grund nicht darauf, dass eine Benutzeroberfläche reaktionsfähig bleibt.For this reason, do not rely on await Task.Yield(); to keep a UI responsive. Weitere Informationen finden Sie im Eintrag nützliche Abstraktionen, die mit ContinueWith aktiviert sind, im Blog Parallel Programming with .net (parallele Programmierung mit .net).For more information, see the entry Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.

Gilt für: