|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.logicalcobwebs.concurrent.WriterPreferenceReadWriteLock
public class WriterPreferenceReadWriteLock
A ReadWriteLock that prefers waiting writers over waiting readers when there is contention. This class is adapted from the versions described in CPJ, improving on the ones there a bit by segregating reader and writer wait queues, which is typically more efficient.
The locks are NOT reentrant. In particular, even though it may appear to usually work OK, a thread holding a read lock should not attempt to re-acquire it. Doing so risks lockouts when there are also waiting writers.
[ Introduction to this package. ]
| 嵌套类摘要 | |
|---|---|
protected class |
WriterPreferenceReadWriteLock.ReaderLock
|
protected class |
WriterPreferenceReadWriteLock.Signaller
Reader and Writer requests are maintained in two different wait sets, by two different objects. |
protected class |
WriterPreferenceReadWriteLock.WriterLock
|
| 字段摘要 | |
|---|---|
protected long |
activeReaders_
|
protected Thread |
activeWriter_
|
protected WriterPreferenceReadWriteLock.ReaderLock |
readerLock_
|
protected long |
waitingReaders_
|
protected long |
waitingWriters_
|
protected WriterPreferenceReadWriteLock.WriterLock |
writerLock_
|
| 构造方法摘要 | |
|---|---|
WriterPreferenceReadWriteLock()
|
|
| 方法摘要 | |
|---|---|
protected boolean |
allowReader()
Override this method to change to reader preference |
protected void |
cancelledWaitingReader()
|
protected void |
cancelledWaitingWriter()
|
protected WriterPreferenceReadWriteLock.Signaller |
endRead()
Called upon termination of a read. |
protected WriterPreferenceReadWriteLock.Signaller |
endWrite()
Called upon termination of a write. |
Sync |
readLock()
get the readLock |
protected boolean |
startRead()
|
protected boolean |
startReadFromNewReader()
|
protected boolean |
startReadFromWaitingReader()
|
protected boolean |
startWrite()
|
protected boolean |
startWriteFromNewWriter()
|
protected boolean |
startWriteFromWaitingWriter()
|
Sync |
writeLock()
get the writeLock |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
protected long activeReaders_
protected Thread activeWriter_
protected long waitingReaders_
protected long waitingWriters_
protected final WriterPreferenceReadWriteLock.ReaderLock readerLock_
protected final WriterPreferenceReadWriteLock.WriterLock writerLock_
| 构造方法详细信息 |
|---|
public WriterPreferenceReadWriteLock()
| 方法详细信息 |
|---|
public Sync writeLock()
ReadWriteLock 复制的描述
ReadWriteLock 中的 writeLockpublic Sync readLock()
ReadWriteLock 复制的描述
ReadWriteLock 中的 readLockprotected void cancelledWaitingReader()
protected void cancelledWaitingWriter()
protected boolean allowReader()
protected boolean startRead()
protected boolean startWrite()
protected boolean startReadFromNewReader()
protected boolean startWriteFromNewWriter()
protected boolean startReadFromWaitingReader()
protected boolean startWriteFromWaitingWriter()
protected WriterPreferenceReadWriteLock.Signaller endRead()
protected WriterPreferenceReadWriteLock.Signaller endWrite()
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||