EventWaitHandle, AutoResetEvent, CountdownEvent et ManualResetEvent
Les handles d'attente d'événement permettent aux threads de synchroniser des activités en échangeant des signaux et en attendant de recevoir ces signaux. Ces événements de synchronisation sont basés sur des handles d'attente Win32 et peuvent être subdivisés en deux types : ceux dont la réinitialisation est automatique et ceux qui sont réinitialisés manuellement.
Les handles d'attente d'événement sont utiles dans de nombreux scénarios de synchronisation identiques à ceux de la classe Monitor. Les handles d'attente d'événement sont souvent plus faciles d'utiliser que les méthodes Monitor.Wait et Monitor.Pulse, et ils offrent davantage de contrôle sur la signalisation. Les handles d'attente d'événement nommés peuvent également être utilisés pour synchroniser des activités entre des processus et domaines d'application tandis que les moniteurs sont réservés à un usage local, au sein d'un domaine d'application.
Dans cette section
EventWaitHandle
La classe EventWaitHandle peut représenter des événements de réinitialisation automatique ou manuelle et des événements locaux ou des événements système nommés.AutoResetEvent
La classe AutoResetEvent dérive de EventWaitHandle et représente un événement local qui se réinitialise automatiquement.ManualResetEvent et ManualResetEventSlim
La classe ManualResetEvent dérive de EventWaitHandle et représente un événement local qui doit être réinitialisé manuellement. La classe ManualResetEventSlim est une version simplifiée et plus rapide qui peut être utilisée pour des événements au sein du même processus.CountdownEvent
La classe CountdownEvent fournit un moyen simple d'implémenter le modèle de parallélisme bifurcation/jointure dans du code qui utilise des handles d'attente.
Sections connexes
- Handles d'attente
La classe WaitHandle est la classe de base des classes EventWaitHandle, Semaphore et Mutex. Elle contient des méthodes statiques telles que SignalAndWait et WaitAll, lesquelles sont utiles lorsque vous utilisez tous les types de handles d'attente.