SemaphoreLight
Light implementation of SemaphoreSlim.
            
                
Returns 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.