private async Task <_SemaphoreLock> Lock3Async()
        {
            var semaphore = new _SemaphoreLock(_semaphoreSlim);
            await semaphore.LockAsync(_timeout, _ct);

            return(semaphore);
        }
        private _SemaphoreLock Lock2()
        {
            var semaphore = new _SemaphoreLock(_semaphoreSlim);

            semaphore.Lock(_ct);
            return(semaphore);
        }
        private _SemaphoreLock Lock3()
        {
            var semaphore = new _SemaphoreLock(_semaphoreSlim);

            semaphore.Lock(_timeout, _ct);
            return(semaphore);
        }
        private async Task <_SemaphoreLock> Lock1Async()
        {
            var semaphore = new _SemaphoreLock(_semaphoreSlim);
            await semaphore.LockAsync();

            return(semaphore);
        }