public async Task ThrowsOnMultipleConcurrentOperations() { InterlockIncrementCheck check = new InterlockIncrementCheck(1); List <Task> tasks = new List <Task>(2); tasks.Add(this.RunLock(check)); tasks.Add(this.RunLock(check)); await Task.WhenAll(tasks); }
private async Task RunLock(InterlockIncrementCheck check) { check.EnterLockCheck(); await Task.Delay(500); }