Condividi tramite


Task.Yield Metodo

Definizione

Crea un'attività awaitable che consente il passaggio 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

Restituisce

Contesto che, una volta atteso, eseguirà una transizione in modo asincrono verso il contesto corrente al momento dell'attesa. Se il SynchronizationContext corrente è diverso da null, l'oggetto viene considerato il contesto corrente. In caso contrario, sarà l'utilità di pianificazione associata all'attività in esecuzione a essere 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 ), il resto dell'esecuzione del metodo verrà riportato a 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 assegna priorità al 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 Utili astrazioni abilitate con ContinueWith nel blog Programmazione parallela con .NET.

Si applica a