Maison >développement back-end >C++ >Async / Await: Tâche vs void: Quand dois-je utiliser lequel?
async / attendre: comprendre l'utilisation des types de retour tâche vs void
dans la programmation asynchrone, le choix entre l'utilisation de la tâche asynchrone et le vide asynchronisé Les types de retour peuvent avoir des implications significatives.
Quand utiliser la tâche asynchrone
par défaut, vous devez viser à renvoyer une tâche à moins qu'il n'y ait un besoin spécifique d'un retour void taper. Le principal avantage de retourner une tâche est qu'il permet à l'appelant de suivre les progrès et d'attendre l'achèvement de l'opération asynchrone.
Quand utiliser le void asynchrone
le Le seul scénario où le vide asynchronisé est généralement recommandé est pour les gestionnaires d'événements, où il est essentiel de maintenir un type de retour vide. S'il n'y a aucune raison impérieuse d'empêcher les appelants d'attendre votre tâche, il est préférable de le permettre.
Opérations asynchrones de haut niveau
Les méthodes asynchrones qui renvoient le vide représentent le haut de la tête -Les opérations asynchrones de niveau. Ils ont des règles spéciales par rapport aux méthodes qui renvoient la tâche. En particulier, les exceptions non gérées dans les méthodes asynchrones de niveau supérieur ne sont pas observées et peuvent entraîner des problèmes lorsque la tâche est collectée par les déchets.
asyncMethod2 ()
dans le fourni dans le fourni dans le fourni dans le fourni dans le fourni dans le fourni dans le fournis Exemple asyncMethod2 (), il n'est pas nécessaire d'utiliser l'async et l'attente car l'opération n'implique aucun travail asynchrone. La méthode Sleep () s'exécute de manière synchrone sur le thread actuel. Par conséquent, la suppression de l'async et de l'attente dans ce cas simplifierait la méthode sans compromettre sa fonctionnalité.
Pour plus d'informations sur les meilleures pratiques avec asynchronisation et attendre, reportez-vous à la documentation Microsoft fournie: https://learn.microsoft. com / en-us / archive / msdn-magazine / 2013 / mars / async-await-best-practices in-asynchronous programmation
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!