Accueil Développement Qu'est-ce qu'un appel de méthode asynchrone? - définition de techopedia

Qu'est-ce qu'un appel de méthode asynchrone? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie l'appel de méthode asynchrone?

Un appel de méthode asynchrone est une méthode utilisée dans la programmation .NET qui retourne à l'appelant immédiatement avant la fin de son traitement et sans bloquer le thread appelant.


Lorsqu'une application appelle une méthode asynchrone, elle peut s'exécuter simultanément avec l'exécution de la méthode asynchrone qui exécute sa tâche. Une méthode asynchrone s'exécute dans un thread distinct du thread d'application principal. Les résultats du traitement sont récupérés via un autre appel sur un autre thread.


Les méthodes asynchrones permettent d'optimiser l'exécution des ressources, résultant en une application évolutive. Celles-ci sont utilisées pour exécuter des tâches longues comme l'ouverture de gros fichiers, la connexion à des ordinateurs distants, l'interrogation d'une base de données, l'appel de services Web et les formulaires Web ASP.NET.


L'appel de méthode asynchrone peut également être appelé appel de méthode asynchrone (AMI).

Techopedia explique l'appel de méthode asynchrone

La méthode asynchrone diffère de la méthode synchrone par la manière dont elle revient de l'appel. Alors qu'un appel de méthode asynchrone revient immédiatement, permettant au programme appelant d'effectuer d'autres opérations, les appels de méthode synchrone attendent la fin de la méthode avant de poursuivre le flux du programme.


Le framework .NET possède une infrastructure asynchrone intégrée afin que toute méthode puisse être invoquée de manière asynchrone sans modifier son code.


Le framework .NET fournit deux modèles de conception pour implémenter la méthode asynchrone, qui sont ceux qui utilisent des délégués asynchrones (objets IASyncResult) et des événements. Le modèle de délégués asynchrones est plus complexe et offre une flexibilité, ce qui le rend bien adapté à divers modèles de programmation complexes. Le modèle basé sur les événements est simple et doit être utilisé dans la plupart des cas.


Dans le modèle de délégués asynchrones, un objet délégué utilise deux méthodes: BeginInvoke et EndInvoke. BeginInvoke a une liste de paramètres, qui sont similaires à sa fonction encapsulée, ainsi que deux paramètres facultatifs supplémentaires; il renvoie l'objet IAsyncResult. EndInvoke renvoie deux paramètres (type out et ref) avec l'objet IAsyncResult. BeginInvoke est utilisé pour lancer l'appel asynchrone, tandis que EndInvoke est utilisé pour récupérer les résultats de l'appel asynchrone.


Les modèles asynchrones basés sur des événements utilisent une classe qui a une ou plusieurs méthodes, nommées MethodNameAsync, qui ont des versions synchrones correspondantes qui s'exécutent sur le thread actuel. Les modèles basés sur des événements peuvent également avoir un événement MethodNameCompleted et une méthode MethodNameAsyncCancel. Ce modèle permet à la classe de communiquer avec les opérations asynchrones en attente à l'aide du modèle d'événement délégué.


Voici quelques conseils relatifs aux méthodes asynchrones:

  • Pour une concurrence élevée, les méthodes asynchrones doivent être évitées
  • Des précautions doivent être prises lors du passage de références d'objets partagés
  • EndXXX (appelé à la fin d'une opération asynchrone) doit être appelé pour renvoyer les exceptions et éviter l'échec
  • En interceptant et en enregistrant tous les objets d'exception dans la méthode asynchrone, il peut être renvoyé lors de l'appel EndXXX
  • Les contrôles de l'interface utilisateur qui lancent des opérations asynchrones de longue durée doivent être désactivés s'ils ne sont nécessaires qu'à cette fin.
  • Les méthodes asynchrones doivent être mises en œuvre avec une compréhension du multithreading et où elles s'avèrent plus efficaces que l'utilisation de méthodes synchrones.
Qu'est-ce qu'un appel de méthode asynchrone? - définition de techopedia