Task.Yield Metod

Definition

Skapar en väntande uppgift som asynkront ger tillbaka till den aktuella kontexten när den väntar.

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

Returer

En kontext som i väntan asynkront övergår till den aktuella kontexten vid tidpunkten för inväntningen. Om strömmen SynchronizationContext inte är null behandlas den som den aktuella kontexten. Annars behandlas schemaläggaren som är associerad med den pågående aktiviteten som den aktuella kontexten.

Kommentarer

Du kan använda await Task.Yield(); en asynkron metod för att tvinga metoden att slutföras asynkront. Om det finns en aktuell synkroniseringskontext (SynchronizationContext -objekt) kommer resten av metodens körning att skickas tillbaka till den kontexten. Kontexten bestämmer dock hur det här arbetet ska prioriteras i förhållande till annat arbete som kan vara väntande. Synkroniseringskontexten som finns i en användargränssnittstråd i de flesta användargränssnittsmiljöer prioriterar ofta arbete som publiceras i kontexten som är högre än indata och rendering. Därför ska du inte förlita dig på await Task.Yield(); att hålla användargränssnittet dynamiskt. Mer information finns i posten Användbara abstraktioner aktiverade med ContinueWith i bloggen Parallell programmering med .NET.

Gäller för