Task.Yield Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une tâche pouvant être attendue qui se produit de manière asynchrone dans le contexte actuel pendant l’attente.
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
Retours
Contexte qui, une fois attendu, reviendra de façon asynchrone au contexte qui était le sien au moment de l'attente. Si le SynchronizationContext actuel n'a pas la valeur null, il est traité comme le contexte actuel. Sinon, le Planificateur de tâches associé à la tâche en cours d'exécution est traité comme le contexte actuel.
Remarques
Vous pouvez utiliser await Task.Yield();
dans une méthode asynchrone pour forcer la méthode à se terminer de manière asynchrone. S’il existe un contexte de synchronisation actuel (SynchronizationContext objet), le reste de l’exécution de la méthode est renvoyé à ce contexte. Toutefois, le contexte décidera comment hiérarchiser ce travail par rapport à d’autres travaux qui peuvent être en attente. Le contexte de synchronisation présent sur un thread d’interface utilisateur dans la plupart des environnements d’interface utilisateur hiérarchise souvent le travail publié dans le contexte supérieur au travail d’entrée et de rendu. Pour cette raison, ne comptez pas sur await Task.Yield();
pour maintenir une interface utilisateur réactive. Pour plus d’informations, consultez l’entrée Abstractions utiles activées avec ContinueWith dans le blog Programmation parallèle avec .NET.