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

Definizione

Crea un'attività awaitable che in modo asincrono consente il passaggio al contesto corrente una volta atteso.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

Restituisce

Contesto che, una volta atteso, eseguirà una transizione in modo asincrono verso il contesto corrente al momento dell'attesa.A context that, when awaited, will asynchronously transition back into the current context at the time of the await. Se il SynchronizationContext corrente è diverso da null, l'oggetto viene considerato il contesto corrente.If the current SynchronizationContext is non-null, it is treated as the current context. In caso contrario, l'utilità di pianificazione associata all'attività in esecuzione viene considerata come contesto corrente.Otherwise, the task scheduler that is associated with the currently executing task is treated as the current context.

Commenti

È possibile usare await Task.Yield(); in un metodo asincrono per forzare il metodo venga completato in modo asincrono.You can use await Task.Yield(); in an asynchronous method to force the method to complete asynchronously. Se esiste un contesto di sincronizzazione corrente (SynchronizationContext oggetto), questo verrà registrato il resto dell'esecuzione del metodo tornare a tale contesto.If there is a current synchronization context (SynchronizationContext object), this will post the remainder of the method's execution back to that context. Tuttavia, il contesto deciderà come definire le priorità di questo tipo di lavoro rispetto a altro lavoro che potrebbe essere in sospeso.However, the context will decide how to prioritize this work relative to other work that may be pending. Il contesto di sincronizzazione che è presente in un thread dell'interfaccia utente nella maggior parte degli ambienti dell'interfaccia utente avrà la priorità spesso lavoro registrato per il contesto di maggiore di input e di lavoro di rendering.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. Per questo motivo, non fare affidamento su await Task.Yield(); per mantenere un'interfaccia utente reattiva.For this reason, do not rely on await Task.Yield(); to keep a UI responsive. Per altre informazioni, vedere l'intervento astrazioni utili abilitata con ContinueWith nella programmazione parallela con .NET blog.For more information, see the entry Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.

Si applica a