SemaphoreLight
Light implementation of SemaphoreSlim.
            
                
Gets a  WaitHandle that can be used to wait on the semaphore.
            
Gets the current count of the  SemaphoreLight.
            
Initializes a new instance of the  SemaphoreLight class, specifying the initial number of requests that can
            be granted concurrently.
            
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
Releases unmanaged and - optionally - managed resources.
            
Exits the  SemaphoreLight once.
            
Exits the  SemaphoreLight a specified number of times.
            
Blocks the current thread until it can enter the  SemaphoreLight.
            
Blocks the current thread until it can enter the  SemaphoreLight, using a 32-bit signed
            integer that specifies the timeout.
            
Blocks the current thread until it can enter the  SemaphoreLight, using a  TimeSpan
            to specify the timeout.