Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
                }
            }
        }