Пример #1
0
        protected void UpdateStatsBorrow(IPooledObject <T> p, long waitTime)
        {
            _borrowedCount++;
            idleTimes.Add(p.GetIdleTimeMillis());
            waitTimes.Add(waitTime);

            // TODO lock-free optimistic-locking maximum
            //long currentMax;
            //do {
            //    currentMax = maxBorrowWaitTimeMillis;
            //    if (currentMax >= waitTime) {
            //        break;
            //    }
            //} while (!maxBorrowWaitTimeMillis.CompareAndSet(currentMax, waitTime));
        }
Пример #2
0
 /// <summary>
 /// Updates statistics after an object is borrowed from the pool.
 /// </summary>
 /// <param name="p"></param>
 /// <param name="waitTime"></param>
 private void UpdateStatsBorrow(IPooledObject <T> p, long waitTime)
 {
     _borrowedCount++;
     idleTimes.Add(p.GetIdleTimeMillis());
     waitTimes.Add(waitTime);
 }