|
||||||||||
| 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 InterruptedException
InterruptedException - In case the thread requesting the lock was
interrupted.public Lock tryWriteLock()
public Lock getWriteLock()
throws InterruptedException
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 | |||||||||