CountdownEvent
Represents a synchronization primitive that is signaled when its count reaches zero.
            
                
Gets the number of remaining signals required to set the event.
            
Indicates whether the  CountdownEvent's current count has reached zero.
            
Gets a  WaitHandle that is used to wait for the event to be set.
            
Initializes a new instance of  CountdownEvent class with the specified count.
            
Increments the  CountdownEvent's current count by one.
            
Releases all resources used by the current instance of the  CountdownEvent class.
            
Releases the unmanaged resources used by the  CountdownEvent, and optionally releases the managed resources.
            
Registers a signal with the  CountdownEvent, decrementing the value of  CurrentCount.
            
Blocks the current thread until the  CountdownEvent is set, using a  TimeSpan
            to measure the timeout.