Partager via


Programmation asynchrone à l’aide de délégués

Les délégués permettent d’appeler une méthode synchrone de manière asynchrone. Lorsque vous appelez un délégué de façon synchrone, la Invoke méthode appelle la méthode cible directement sur le thread actuel. Si la BeginInvoke méthode est appelée, le Common Language Runtime (CLR) met en file d’attente la requête et retourne immédiatement à l’appelant. La méthode cible est appelée de façon asynchrone sur un thread du pool de threads. Le thread d’origine, qui a envoyé la demande, est libre de continuer à s’exécuter en parallèle avec la méthode cible. Si une méthode de rappel a été spécifiée dans l’appel à la BeginInvoke méthode, la méthode de rappel est appelée lorsque la méthode cible se termine. Dans la méthode de rappel, la EndInvoke méthode obtient la valeur de retour et tous les paramètres d’entrée/sortie ou de sortie uniquement. Si aucune méthode de rappel n’est spécifiée lors de l’appel BeginInvoke, EndInvoke peut être appelée à partir du thread appelé BeginInvoke.

Importante

Les compilateurs doivent émettre des classes déléguées avec Invoke, BeginInvoke, et EndInvoke méthodes, à l’aide de la signature déléguée spécifiée par l’utilisateur. Les méthodes BeginInvoke et EndInvoke doivent être décorées comme étant natives. Étant donné que ces méthodes sont marquées comme natives, le CLR fournit automatiquement l’implémentation au moment du chargement de la classe. Le chargeur garantit qu’elles ne sont pas remplacées.

Dans cette section

Appel de méthodes synchrones de façon asynchrone
Décrit l’utilisation de délégués pour effectuer des appels asynchrones à des méthodes ordinaires et fournit des exemples de code simples qui montrent les quatre façons d’attendre qu’un appel asynchrone retourne.

Modèle asynchrone basé sur les événements (EAP)
Décrit la programmation asynchrone dans .NET.

Voir aussi