Maison >développement back-end >C++ >C# | Programmation asynchrone avec [async | attendre | Tâche]
Note You can check other posts on my personal website: https://hbolajraf.net
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.
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.
public async Task MyAsyncMethod() { // Asynchronous code here }
await MyAsyncMethod();
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. }
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 }
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 }
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(); } }
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!