Task.Yield Metodo

Definizione

Crea un'attività awaitable che restituisce in modo asincrono al contesto corrente quando è atteso.

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

Valori restituiti

Contesto che, quando atteso, eseguirà la transizione asincrona nel contesto corrente al momento dell'attesa. Se l'oggetto corrente SynchronizationContext è diverso da Null, viene considerato come contesto corrente. In caso contrario, l'utilità di pianificazione associata all'attività attualmente in esecuzione viene considerata come contesto corrente.

Commenti

È possibile usare await Task.Yield(); in un metodo asincrono per forzare il completamento asincrono del metodo. Se è presente un contesto di sincronizzazione corrente (SynchronizationContext oggetto ), verrà eseguito il post del resto dell'esecuzione del metodo in tale contesto. Tuttavia, il contesto deciderà come classificare in ordine di priorità questo lavoro rispetto ad altri lavori che potrebbero essere in sospeso. Il contesto di sincronizzazione presente in un thread dell'interfaccia utente nella maggior parte degli ambienti dell'interfaccia utente spesso definirà la priorità del lavoro pubblicato nel contesto superiore a quello di input e rendering. Per questo motivo, non fare affidamento su await Task.Yield(); per mantenere reattiva un'interfaccia utente. Per altre informazioni, vedere la voce Uso astrazioni abilitate con ContinueWith nel blog Programmazione parallela con .NET.

Si applica a