|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectinfo.aduna.concurrent.locks.AbstractReadWriteLockManager
info.aduna.concurrent.locks.ReadPrefReadWriteLockManager
public class ReadPrefReadWriteLockManager
A read/write lock manager with reader preference. This lock manager block any requests for write locks until all read locks have been released.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class info.aduna.concurrent.locks.AbstractReadWriteLockManager |
---|
AbstractReadWriteLockManager.ReadDebugLock, AbstractReadWriteLockManager.ReadLock, AbstractReadWriteLockManager.WriteDebugLock, AbstractReadWriteLockManager.WriteLock |
Field Summary |
---|
Fields inherited from class info.aduna.concurrent.locks.AbstractReadWriteLockManager |
---|
activeReaders, writerActive |
Constructor Summary | |
---|---|
ReadPrefReadWriteLockManager()
Creates a MultiReadSingleWriteLockManager. |
|
ReadPrefReadWriteLockManager(boolean trackLocks)
Creates a new MultiReadSingleWriteLockManager, optionally with lock tracking enabled. |
Method Summary | |
---|---|
Lock |
getReadLock()
Gets a read lock. |
Lock |
getWriteLock()
Gets an exclusive write lock. |
Lock |
tryReadLock()
Gets a read lock, if available. |
Lock |
tryWriteLock()
Gets an exclusive write lock, if available. |
Methods inherited from class info.aduna.concurrent.locks.AbstractReadWriteLockManager |
---|
createReadLock, createWriteLock |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ReadPrefReadWriteLockManager()
public ReadPrefReadWriteLockManager(boolean trackLocks)
trackLocks
- Controls whether the lock manager will keep track of active locks.
Enabling lock tracking will add some overhead, but can be very
useful for debugging.Method Detail |
---|
public Lock tryReadLock()
public Lock getReadLock() throws java.lang.InterruptedException
java.lang.InterruptedException
- In case the thread requesting the lock was
interrupted
.public Lock tryWriteLock()
public Lock getWriteLock() throws java.lang.InterruptedException
java.lang.InterruptedException
- In case the thread requesting the lock was
interrupted
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |