private static void _doWork(string semaphore) { var isThreadLocked = _locker.AcquireLock(semaphore); Console.WriteLine($"Did we get a lock => {isThreadLocked}"); if (isThreadLocked) { Console.WriteLine("Working..."); Thread.Sleep(_random.Next(1000, 3000)); _locker.ReleaseLock(semaphore); } }