Exprime et synchronisation des tâches asynchrones: tâche.Lorsque explication détaillée
Lors du traitement des tâches asynchrones dans l'application C # Console, l'exécution des tâches de coordination et l'attente de son achèvement peuvent être un défi. Cet article fournira une solution de mise en œuvre simple pour faire fonctionner plusieurs tâches asynchrones et la terminer.
Les méthodes traditionnelles utilisent et d'autres méthodes d'obstruction pour attendre que toutes les tâches se terminent. Cependant, cette méthode bloquera le thread d'exécution et l'efficacité inefficace. Afin de rechercher des solutions plus optimisées, discutons de la méthode
.Implémentez des exemples
Les exemples suivants de exécuter et synchroniser plusieurs tâches asynchrones: Task.WhenAll
Task.WaitAll
et sont les méthodes asynchrones de votre tâche. Créez une nouvelle tâche, et ce n'est que lorsque les deux tâches d'entrée sont terminées, la tâche sera terminée. En attendant cette tâche de combinaison, le thread d'exécution sera restauré une fois toutes les tâches d'entrée terminées.
Traitement anormal Task.WhenAll
<code class="language-csharp">var task1 = DoWorkAsync(); var task2 = DoMoreWorkAsync(); await Task.WhenAll(task1, task2);</code>
fournit un traitement anormal plus détaillé. Si une tâche d'entrée échoue, la tâche renvoyée échouera également et regroupera l'anomalie de la tâche de défaut. Si toutes les tâches sont terminées avec succès, la tâche retournée sera dans l'état DoWorkAsync
. DoMoreWorkAsync
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!