Maison >développement back-end >C++ >Comment exécuter de manière synchrone une méthode de tâche asynchrone en C #?
Méthode
await
Il existe de nombreuses façons d'y parvenir, mais toutes les méthodes ne conviennent pas à toutes les scènes. Voici quelques méthodes courantes:
bloquant le thread actuel jusqu'à ce que l'opération asynchrone soit terminée. Mais si la tâche est exécutée sur le même thread qui l'attend, cela peut conduire à une impasse.
Méthode 2: Utilisez la tâche.RunSynachronely () Méthode Task.Wait()
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.Wait();</code>
Méthode 3: Utilisez TaskCompletionsource Class
Task.RunSynchronously()
permet des tâches de création manuelle et la compléte une fois l'opération asynchrone terminée.
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.RunSynchronously();</code>
Méthode 4: Utilisez la classe auxiliaire personnalisée
TaskCompletionSource<T>
La meilleure façon dépend de scénarios spécifiques et de besoins d'application. Lorsque vous choisissez un mécanisme d'exécution synchrone, assurez-vous de considérer les verrous morts potentiels et les effets de performance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!