Class NonBlockingWriterLock

  extended by org.jboss.cache.lock.ReadWriteLockWithUpgrade
      extended by org.jboss.cache.lock.NonBlockingWriterLock
All Implemented Interfaces:

public class NonBlockingWriterLock
extends ReadWriteLockWithUpgrade

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.

$Id: 7168 2008-11-19 17:37:20Z $
Ben Wang

Nested Class Summary
Nested classes/interfaces inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade
ReadWriteLockWithUpgrade.ReaderLock, ReadWriteLockWithUpgrade.WriterLock
Field Summary
Fields inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade
activeWriter_, dummy_, log_, readerLock_, upgraderLocal_, writerLock_
Constructor Summary
Method Summary
protected  boolean startWrite()
Methods inherited from class org.jboss.cache.lock.ReadWriteLockWithUpgrade
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

Constructor Detail


public NonBlockingWriterLock()
Method Detail


protected boolean startWrite()
startWrite in class ReadWriteLockWithUpgrade

Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.