Interface ReadWriteLockManager
- All Known Implementing Classes:
 AbstractReadWriteLockManager, ReadPrefReadWriteLockManager, StampedLockManager, WritePrefReadWriteLockManager
public interface ReadWriteLockManager
A lock manager that manages a multi-read, single-write lock. This lock manager allows multiple read locks to be
active at the same time. The write lock is exclusive, meaning that no other read- or write locks may be active at the
same time.
- Author:
 - Arjohn Kampman
 
- 
Method Summary
Modifier and TypeMethodDescriptionGets 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. 
- 
Method Details
- 
tryReadLock
Lock tryReadLock()Gets a read lock, if available. This method will return null if the read lock is not immediately available. - 
getReadLock
Gets a read lock. This method blocks until the read lock is available.- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
tryWriteLock
Lock tryWriteLock()Gets an exclusive write lock, if available. This method will return null if the write lock is not immediately available. - 
getWriteLock
Gets an exclusive write lock. This method blocks until the write lock is available.- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
isWriterActive
boolean isWriterActive()Returnsfalseif there are no active write locks, otherwise returnstrue. - 
isReaderActive
boolean isReaderActive()Returnsfalseif there are no active read locks, otherwise returnstrue. - 
waitForActiveWriter
Blocks until all write locks have been released.- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 - 
waitForActiveReaders
Blocks until all read locks have been released.- Throws:
 InterruptedException- In case the thread requesting the lock wasinterrupted.
 
 -