Class ExclusiveReentrantLockManager
- java.lang.Object
-
- org.eclipse.rdf4j.common.concurrent.locks.ExclusiveReentrantLockManager
-
@InternalUseOnly public class ExclusiveReentrantLockManager extends java.lang.Object
A simple reentrant lock that allows other threads to unlock the lock.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classExclusiveReentrantLockManager.ExclusiveReentrantLock
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.atomic.AtomicLongactiveLocks(package private) LockMonitoring<ExclusiveReentrantLockManager.ExclusiveReentrantLock>lockMonitoringprivate static org.slf4j.Loggerlogger(package private) java.util.concurrent.atomic.AtomicReference<java.lang.Thread>ownerprivate intwaitToCollect
-
Constructor Summary
Constructors Constructor Description ExclusiveReentrantLockManager()ExclusiveReentrantLockManager(boolean trackLocks)ExclusiveReentrantLockManager(boolean trackLocks, int collectionFrequency)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LockgetExclusiveLock()private LockgetExclusiveLockInner()booleanisActiveLock()LocktryExclusiveLock()private LocktryExclusiveLockInner()
-
-
-
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
-
lockMonitoring
LockMonitoring<ExclusiveReentrantLockManager.ExclusiveReentrantLock> lockMonitoring
-
-
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()
-
-