This class presents a WaitHandle with two states: signaled and nonsignaled. If nonsignaled, waiting threads block; otherwise they continue executing. It is constructed with an initial signal value and can be Set( ) to signaled or Reset( ) to nonsignaled. When signaled, the AutoResetEvent automatically resets to nonsignaled once a single blocking thread has been released. Calling Set( ) with no blocking threads causes it to remain signaled until another thread waits on it. public sealed class AutoResetEvent : WaitHandle { // Public Constructors public AutoResetEvent (bool initialState ); // Public Instance Methods public bool Reset ( ); public bool Set ( ); } HierarchySystem.Object System.MarshalByRefObject WaitHandle(System.IDisposable) AutoResetEvent Figure 42-3. Thread state transitions |