private void Release(LimitableResource Resource, long UsedAmount, long AvailableAmount) { int Index = GetIndex(Resource); lock (LockObj) { Current [Index] -= UsedAmount; Available[Index] -= AvailableAmount; if (WaitingThreadsCount > 0) { KConditionVariable.NotifyAll(System, WaitingThreads); } } }
private void Release(LimitableResource resource, long usedAmount, long availableAmount) { int index = GetIndex(resource); lock (_lockObj) { _current [index] -= usedAmount; _available[index] -= availableAmount; if (_waitingThreadsCount > 0) { KConditionVariable.NotifyAll(_system, _waitingThreads); } } }