org.jboss.cache.lock
Class NonBlockingWriterLock

java.lang.Object
  extended byorg.jboss.cache.lock.ReadWriteLockWithUpgrade (src) 
      extended byorg.jboss.cache.lock.NonBlockingWriterLock

public class NonBlockingWriterLock
extends ReadWriteLockWithUpgrade (src)

NonBlockingWriterLock is a read/write lock (with upgrade) that has non-blocking write lock acquisition on existing read lock(s).

Note that the write lock is exclusive among write locks, e.g., only one write lock can be granted at one time, but the write lock is independent of the read locks. For example, a read lock to be acquired will be blocked if there is existing write lock, but will not be blocked if there are mutiple read locks already granted to other owners. On the other hand, a write lock can be acquired as long as there is no existing write lock, regardless how many read locks have been granted.


Nested Class Summary
 
Nested classes inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade (src)
ReadWriteLockWithUpgrade.ReaderLock (src) , ReadWriteLockWithUpgrade.WriterLock (src)
 
Field Summary
protected static Logger (src) log_
           
 
Fields inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade (src)
activeWriter_, dummy_, readerLock_, upgraderLocal_, writerLock_
 
Constructor Summary
NonBlockingWriterLock()
           
 
Method Summary
protected  boolean startWrite()
           
 
Methods inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade (src)
allowReader, cancelledWaitingReader, cancelledWaitingWriter, changeLock, endRead, endWrite, readLock, startRead, startReadFromNewReader, startReadFromWaitingReader, startWriteFromNewWriter, startWriteFromWaitingWriter, toString, upgradeLockAttempt, writeLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log_

protected static Logger (src)  log_
Constructor Detail

NonBlockingWriterLock

public NonBlockingWriterLock()
Method Detail

startWrite

protected boolean startWrite()
Overrides:
startWrite in class ReadWriteLockWithUpgrade (src)