|
||||||||||
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.WritePrefReadWriteLockManager
public class WritePrefReadWriteLockManager
A read/write lock manager with writer preference. As soon as a write lock is requested, this lock manager will block any read lock requests until the writer's request has been satisfied.
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 | |
---|---|
WritePrefReadWriteLockManager()
Creates a MultiReadSingleWriteLockManager. |
|
WritePrefReadWriteLockManager(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 WritePrefReadWriteLockManager()
public WritePrefReadWriteLockManager(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 |