EventWaitHandle, AutoResetEvent und ManualResetEvent
Aktualisiert: November 2007
Threads können mithilfe von Wait-Handles für ein Ereignis Aktivitäten synchronisieren, indem sie einander Signale senden und auf die Signale der anderen Threads warten. Diese Synchronisierungsereignisse beruhen auf Win32-Wait-Handles und untergliedern sich in zwei Typen: Ereignisse, die sich nach der Signalisierung automatisch zurücksetzen und Ereignisse, die manuell zurückgesetzt werden müssen.
Wait-Handles für ein Ereignis sind in vielen Synchronisierungsszenarien nützlich, in denen auch die Monitor-Klasse eingesetzt wird. Wait-Handles für ein Ereignis können oft einfacher verwendet werden als die Monitor.Wait-Methode und die Monitor.Pulse-Methode und ermöglichen zudem eine bessere Steuerung der Signalisierungsvorgänge. Mit benannten Wait-Handles für ein Ereignis können Aktivitäten auch über Anwendungsdomänen und Prozesse hinweg synchronisiert werden, während Monitore nur lokal innerhalb einer Anwendungsdomäne eingesetzt werden können.
In diesem Abschnitt
EventWaitHandle
Die EventWaitHandle-Klasse kann entweder automatische oder manuelle Zurücksetzungsereignisse sowie entweder lokale Ereignisse oder benannte Systemereignisse darstellen.AutoResetEvent
Die AutoResetEvent-Klasse ist von EventWaitHandle abgeleitet und stellt ein lokales Ereignis dar, das sich automatisch zurücksetzt.ManualResetEvent
Die ManualResetEvent-Klasse ist von EventWaitHandle abgeleitet und stellt ein lokales Ereignis dar, das manuell zurückgesetzt werden muss.
Verwandte Abschnitte
- Wait-Handles
Die WaitHandle-Klasse ist die Basisklasse für die EventWaitHandle-Klasse und die Mutex-Klasse. Sie enthält statische Methoden wie SignalAndWait und WaitAll, die für die Verwendung von den verschiedenen Wait-Handles nützlich sind.