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 await Task.Yield(); in einer asynchronen Methode zu erzwingen, dass die Methode, die asynchron abgeschlossen.You can use await Task.Yield(); in an asynchronous method to force the method to complete asynchronously. Es ist ein aktuelle Synchronisierungskontext (SynchronizationContext Objekt), wird dadurch den Rest der Ausführung der Methode an diesem Kontext buchen.If there is a current synchronization context (SynchronizationContext object), this will post the remainder of the method's execution back to that context. Allerdings wird der Kontext entscheiden, wie diese Arbeit relativ zu anderen Aufgaben zu priorisieren, die ausstehend sein können.However, the context will decide how to prioritize this work relative to other work that may be pending. Der Synchronisierungskontext, der auf einem UI-Thread in den meisten Umgebungen der Benutzeroberfläche vorhanden ist wird häufig arbeiten, die in den Kontext höher ist als Eingabe und Rendering Work veröffentlicht priorisieren.The 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. Aus diesem Grund verlassen Sie sich nicht auf await Task.Yield(); auf eine Benutzeroberfläche weiterhin 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ützlich, Abstraktionen mit ContinueWith aktiviert im zur parallelen Programmierung mit .NET Blog.For more information, see the entry Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.

Gilt für: