Optimisation de l'exécution de tâches asynchrones simultanées et de la récupération des résultats dans .NET 4.5
.NET 4.5 offre des outils puissants pour l'exécution de tâches parallèles et une collecte efficace des résultats, améliorant considérablement les performances des applications. Cependant, des méthodes plus simples pourraient ne pas exploiter pleinement les capacités du framework.
Une approche raffinée est démontrée ci-dessous :
<code class="language-csharp">async Task<int> LongRunningTask1() { // ... your asynchronous code ... return 0; } async Task<int> LongRunningTask2() { // ... your asynchronous code ... return 1; } // ... your calling code ... { Task<int> task1 = LongRunningTask1(); Task<int> task2 = LongRunningTask2(); await Task.WhenAll(task1, task2); // Access results via task1.Result and task2.Result }</code>
Cet exemple utilise des méthodes asynchrones, LongRunningTask1
et LongRunningTask2
, représentant des opérations longues. Task.WhenAll(task1, task2)
attend de manière asynchrone la fin des deux tâches. Cela élimine le besoin de Task.Run()
et fournit un moyen propre d'accéder aux résultats en utilisant .Result
.
Cela illustre les avantages du modèle de programmation asynchrone de C# 4.5, permettant la création d'une gestion de tâches parallèles efficace et évolutive.
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!