public static async Task AsyncExclusiveLock() { var obj = new object(); var holder1 = await obj.AcquireLockAsync(TimeSpan.Zero); if (holder1) { } else { throw new Exception(); } await ThrowsAsync <TimeoutException>(() => obj.AcquireLockAsync(TimeSpan.Zero)); holder1.Dispose(); }