The ManualResetEvent class represents a local wait handle event that must be reset manually after it is signaled. This class represents a special case of its base class, EventWaitHandle. See the EventWaitHandle conceptual documentation for the use and features of manual reset events.
A ManualResetEvent object remains signaled until its Reset method is called. Any number of waiting threads, or threads that wait on the event after it has been signaled, can be released while the object's state is signaled. ManualResetEvent corresponds to a Win32 CreateEvent call, specifying true for the bManualReset argument.