Class ExclusiveReentrantLockManager


  • @InternalUseOnly
    public class ExclusiveReentrantLockManager
    extends java.lang.Object
    A simple reentrant lock that allows other threads to unlock the lock.
    • Field Detail

      • logger

        private static final org.slf4j.Logger logger
      • activeLocks

        final java.util.concurrent.atomic.AtomicLong activeLocks
      • owner

        final java.util.concurrent.atomic.AtomicReference<java.lang.Thread> owner
      • waitToCollect

        private final int waitToCollect
    • Constructor Detail

      • ExclusiveReentrantLockManager

        public ExclusiveReentrantLockManager()
      • ExclusiveReentrantLockManager

        public ExclusiveReentrantLockManager​(boolean trackLocks)
      • ExclusiveReentrantLockManager

        public ExclusiveReentrantLockManager​(boolean trackLocks,
                                             int collectionFrequency)
    • Method Detail

      • tryExclusiveLockInner

        private Lock tryExclusiveLockInner()
      • getExclusiveLockInner

        private Lock getExclusiveLockInner()
                                    throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • tryExclusiveLock

        public Lock tryExclusiveLock()
      • getExclusiveLock

        public Lock getExclusiveLock()
                              throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • isActiveLock

        public boolean isActiveLock()