private void Lock() { lock (itemLockers) { itemLocker = itemLockers.GetOrAdd(key, (k) => { return(new ItemLocker()); }); lock (itemLocker) { itemLocker.Checkouts++; } } itemLocker.Semaphore.Wait(); }
private Task LockAsync() { lock (itemLockers) { itemLocker = itemLockers.GetOrAdd(key, (k) => { return(new ItemLocker()); }); lock (itemLocker) { itemLocker.Checkouts++; } } return(itemLocker.Semaphore.WaitAsync()); }
public AccountData() { Locker = new ItemLocker(999); Trunk = new ItemTrunk(4); }