Maison > développement back-end > C++ > Tâche asynchrone vs Async void: Quand devriez-vous retourner une tâche?

Tâche asynchrone vs Async void: Quand devriez-vous retourner une tâche?

Mary-Kate Olsen
Libérer: 2025-02-01 13:56:09
original
645 Les gens l'ont consulté

Async Task vs. Async Void: When Should You Return a Task?

dans la programmation asynchrone,

et Sélection de valeur de retour async Task async void Il est courant d'utiliser

et

dans la programmation asynchrone, mais le choix async ou await comme méthode de retour est souvent déroutant. public async Task AsyncMethod(int num) public async void AsyncMethod(int num) return

Task En général, le retour est le premier choix. Il permet à l'appelant de suivre la progression de l'opération asynchrone et d'attendre qu'il se termine. Ceci est très utile lorsque la tâche indique qu'il peut nécessiter une longue période pour exécuter des opérations.

return Task

Retour à Habituellement utilisé pour les opérations asynchrones, n'a pas besoin de signaler ses progrès ou le destinataire n'a pas besoin d'attendre qu'il se termine. Un scénario approprié consiste à gérer les événements, car les procédures de traitement des événements ne sont généralement pas retournées. void Mots-clés non nécessaires

void Dans certains cas,

et

peuvent ne pas être nécessaires. Par exemple, si votre méthode exécute uniquement une seule opération asynchrone et n'a pas besoin de suivre ses progrès, vous pouvez utiliser la syntaxe suivante:

Cependant, dans ce cas, il est toujours recommandé d'utiliser

et async, car ils garantissent le traitement correct des anomalies, en particulier lorsque l'opération asynchrone jette l'anomalie sans précédent de l'appelant. await

Autres précautions
<code class="language-csharp">public static void AsyncMethod2(int num)
{
    Task.Factory.StartNew(() => Thread.Sleep(num));
}</code>
Copier après la connexion

async Les méthodes await sont considérées comme des opérations asynchrones "au niveau supérieur" et ont des règles spéciales dans un traitement anormal.

Si la méthode de niveau supérieur est lancée anormalement, l'appelant ne l'observe pas toujours. Utiliser et

pour s'assurer que l'exception peut être correctement gérée dans les méthodes asynchrones supérieures et non -TOP.

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!

source:php.cn
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