Maison > développement back-end > C++ > le corps du texte

C# | Programmation asynchrone avec [async | attendre | Tâche]

WBOY
Libérer: 2024-07-23 21:49:44
original
869 Les gens l'ont consulté

C# | Asynchronous programming with [async | await | Task]

Note
You can check other posts on my personal website: https://hbolajraf.net

Utilisation des tâches wait et async en C

En C#, la programmation asynchrone est utilisée pour améliorer la réactivité des applications en permettant aux tâches de s'exécuter simultanément sans bloquer le thread principal. Les mots-clés wait et async jouent un rôle crucial pour y parvenir. Ce guide vous montrera comment utiliser efficacement les tâches d'attente et asynchrone.

Introduction

La programmation asynchrone en C# est essentielle pour les tâches qui peuvent prendre beaucoup de temps, telles que les opérations liées aux E/S ou les requêtes réseau. En utilisant wait et async, vous pouvez vous assurer que votre application reste réactive en attendant la fin de ces tâches.

Utilisation d'une tâche asynchrone

  1. Définir une méthode asynchrone : pour utiliser wait, définissez une méthode asynchrone au sein d'une classe, renvoyant généralement une tâche ou une tâche.
   public async Task MyAsyncMethod()
   {
       // Asynchronous code here
   }
Copier après la connexion
  1. Appelez la méthode asynchrone : Dans une autre méthode, vous pouvez appeler votre méthode asynchrone avec le mot-clé wait.
   await MyAsyncMethod();
Copier après la connexion

Le mot-clé d'attente

Le mot-clé wait est utilisé dans une méthode asynchrone pour suspendre l'exécution jusqu'à ce que la tâche attendue soit terminée. Cela permet au fil appelant de continuer d'autres travaux sans bloquer.

async Task MyAsyncMethod()
{
    var result = await SomeAsyncTask();
    // Code after the await will execute when SomeAsyncTask is completed.
}
Copier après la connexion

Gestion des exceptions

Pour gérer les exceptions dans les méthodes asynchrones, vous pouvez utiliser des blocs try-catch standard. Lorsqu'une exception est levée dans une méthode asynchrone, elle est capturée et propagée dans le cadre de la tâche.

try
{
    await SomeAsyncMethod();
}
catch (Exception ex)
{
    // Handle the exception
}
Copier après la connexion

Jetons d'annulation

Pour annuler une opération asynchrone, vous pouvez utiliser CancellationToken. Transmettez un CancellationToken à la méthode asynchrone et vérifiez l’annulation au sein de la méthode.

async Task MyAsyncMethod(CancellationToken cancellationToken)
{
    // Check for cancellation
    cancellationToken.ThrowIfCancellationRequested();

    // Continue with the operation
}
Copier après la connexion

Exemple concret

Voici un exemple de scénario réel courant : effectuer une requête HTTP de manière asynchrone.

public async Task<string> FetchDataAsync(string url)
{
    using (var httpClient = new HttpClient())
    {
        var response = await httpClient.GetAsync(url);
        response.EnsureSuccessStatusCode();
        return await response.Content.ReadAsStringAsync();
    }
}
Copier après la connexion

Et ensuite ?

L'utilisation de wait et async Task en C# vous permet d'écrire des applications réactives et efficaces, en particulier lorsqu'il s'agit de tâches liées aux E/S ou de longue durée. Il vous permet de garder votre application réactive et d'améliorer l'expérience utilisateur globale en permettant à plusieurs tâches de s'exécuter simultanément sans bloquer le thread principal.

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:dev.to
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal