EDU.oswego.cs.dl.util.concurrent
Class ReaderPreferenceReadWriteLock

java.lang.Object
  extended by EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock
      extended by EDU.oswego.cs.dl.util.concurrent.ReaderPreferenceReadWriteLock
All Implemented Interfaces:
ReadWriteLock

public class ReaderPreferenceReadWriteLock
extends WriterPreferenceReadWriteLock

A ReadWriteLock that prefers waiting readers over waiting writers when there is contention. The range of applicability of this class is very limited. In the majority of situations, writer preference locks provide more reasonable semantics.

[ Introduction to this package. ]


Nested Class Summary
 
Nested classes/interfaces inherited from class EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock
WriterPreferenceReadWriteLock.ReaderLock, WriterPreferenceReadWriteLock.Signaller, WriterPreferenceReadWriteLock.WriterLock
 
Field Summary
 
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock
activeReaders_, activeWriter_, readerLock_, waitingReaders_, waitingWriters_, writerLock_
 
Constructor Summary
ReaderPreferenceReadWriteLock()
           
 
Method Summary
protected  boolean allowReader()
          Override this method to change to reader preference
 
Methods inherited from class EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock
cancelledWaitingReader, cancelledWaitingWriter, endRead, endWrite, readLock, startRead, startReadFromNewReader, startReadFromWaitingReader, startWrite, startWriteFromNewWriter, startWriteFromWaitingWriter, writeLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReaderPreferenceReadWriteLock

public ReaderPreferenceReadWriteLock()
Method Detail

allowReader

protected boolean allowReader()
Description copied from class: WriterPreferenceReadWriteLock
Override this method to change to reader preference

Overrides:
allowReader in class WriterPreferenceReadWriteLock