Maison > développement back-end > C++ > Comment puis-je attendre plusieurs tâches asynchrones simultanément et accéder à leurs résultats?

Comment puis-je attendre plusieurs tâches asynchrones simultanément et accéder à leurs résultats?

Barbara Streisand
Libérer: 2025-01-28 03:11:09
original
1044 Les gens l'ont consulté

How Can I Await Multiple Asynchronous Tasks Simultaneously and Access Their Results?

Gestion efficace de plusieurs opérations asynchrones simultanées

Cet exemple montre comment gérer trois opérations asynchrones indépendantes - FeedCat(), SellHouse() et BuyCar() - chacune de retour d'un objet distinct (chat, maison, Tesla respectivement). Le code nécessite que toutes les opérations se terminent avant de continuer et ont besoin d'accès aux résultats de chacun.

La solution optimale exploite Task.WhenAll() pour l'exécution parallèle et l'attente:

var catTask = FeedCat();
var houseTask = SellHouse();
var carTask = BuyCar();

await Task.WhenAll(catTask, houseTask, carTask);
Copier après la connexion

Après Task.WhenAll() confirme l'achèvement, les résultats individuels sont facilement accessibles:

var cat = await catTask;
var house = await houseTask;
var car = await carTask;
Copier après la connexion

Il est important de noter que les fonctions asynchrones renvoient les tâches "chaudes" (déjà initiées). Alors que Task.Result est une option (car l'achèvement est garanti), l'utilisation de await est généralement préférée pour sa lisibilité et son amélioration des erreurs.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal