EventWaitHandle, AutoResetEvent и ManualResetEvent
Обновлен: Ноябрь 2007
Дескрипторы ожидания событий позволяют потокам синхронизировать действия, обмениваясь сигналами и ожидая сигналов друг от друга. Такие события синхронизации основаны на дескрипторах ожидания Win32. Их можно разделить на два типа: события, сбрасываемые автоматически в момент передачи сигнала и сбрасываемые вручную.
Дескрипторы ожидания событий полезны во многих из сценариев синхронизации, где используется класс Monitor. Использовать дескрипторы ожидания событий часто проще, чем методы Monitor.Wait и Monitor.Pulse, и они дают более широкие возможности управления сигналами. Именованные дескрипторы ожидания событий также можно использовать для синхронизации действий между различными доменами приложений и процессами, в то время как мониторы являются локальными для домена приложения.
В этом подразделе
EventWaitHandle
Класс EventWaitHandle может представлять локальные или именованные системные события с автоматическим или ручным сбросом.AutoResetEvent
Класс AutoResetEvent является производным от класса EventWaitHandle и представляет локальное событие с автоматическим сбросом.ManualResetEvent
Класс ManualResetEvent является производным от класса EventWaitHandle и представляет локальное событие, которое необходимо сбрасывать вручную.
Связанные подразделы
- Дескрипторы ожидания
Класс WaitHandle является базовым для классов EventWaitHandle и Mutex. Он содержит статические методы, такие как SignalAndWait и WaitAll, которые полезны в работе с дескрипторами ожидания всех типов.