Class StampedLockManager
java.lang.Object
org.eclipse.rdf4j.common.concurrent.locks.StampedLockManager
- All Implemented Interfaces:
 ReadWriteLockManager
A read/write-lock manager backed by a StampedLock.
This class is in an experimental state: its existence, signature or behavior may change without warning from one release to the next.
- Author:
 - HÃ¥vard M. Ottestad
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class - 
Constructor Summary
ConstructorsConstructorDescriptionStampedLockManager(boolean trackLocks) StampedLockManager(boolean trackLocks, int waitToCollect) StampedLockManager(String alias, int waitToCollect, LockDiagnostics... lockDiagnostics) StampedLockManager(String alias, LockDiagnostics... lockDiagnostics)  - 
Method Summary
Modifier and TypeMethodDescriptionconvertToReadLock(Lock writeLock) Convert a write lock to a read lock.Gets an optimistic read lock, if available.Gets a read lock.Gets an exclusive write lock.booleanReturnsfalseif there are no active read locks, otherwise returnstrue.booleanReturnsfalseif there are no active write locks, otherwise returnstrue.Gets a read lock, if available.Gets an exclusive write lock, if available.voidBlocks until all read locks have been released.voidBlocks until all write locks have been released. 
- 
Constructor Details
- 
StampedLockManager
public StampedLockManager() - 
StampedLockManager
public StampedLockManager(boolean trackLocks)  - 
StampedLockManager
public StampedLockManager(boolean trackLocks, int waitToCollect)  - 
StampedLockManager
 - 
StampedLockManager
 
 - 
 - 
Method Details
- 
isWriterActive
public boolean isWriterActive()Returnsfalseif there are no active write locks, otherwise returnstrue.- Specified by:
 isWriterActivein interfaceReadWriteLockManager
 - 
isReaderActive
public boolean isReaderActive()Returnsfalseif there are no active read locks, otherwise returnstrue.- Specified by:
 isReaderActivein interfaceReadWriteLockManager
 - 
waitForActiveWriter
Blocks until all write locks have been released.- Specified by:
 waitForActiveWriterin interfaceReadWriteLockManager- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
waitForActiveReaders
Blocks until all read locks have been released.- Specified by:
 waitForActiveReadersin interfaceReadWriteLockManager- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
getReadLock
Gets a read lock. This method blocks until the read lock is available.- Specified by:
 getReadLockin interfaceReadWriteLockManager- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
getOptimisticReadLock
Gets an optimistic read lock, if available. This method will return null if the optimistic read lock is not immediately available. - 
convertToReadLock
 - 
getWriteLock
Gets an exclusive write lock. This method blocks until the write lock is available.- Specified by:
 getWriteLockin interfaceReadWriteLockManager- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
tryReadLock
Gets a read lock, if available. This method will return null if the read lock is not immediately available.- Specified by:
 tryReadLockin interfaceReadWriteLockManager
 - 
tryWriteLock
Gets an exclusive write lock, if available. This method will return null if the write lock is not immediately available.- Specified by:
 tryWriteLockin interfaceReadWriteLockManager
 
 -