Lire en anglais

Partager via


Task.Yield Méthode

Définition

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 ();

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.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0