org.jboss.cache.lock
Class NonBlockingWriterLock

java.lang.Object
  extended by org.jboss.cache.lock.ReadWriteLockWithUpgrade
      extended by org.jboss.cache.lock.NonBlockingWriterLock
All Implemented Interfaces:
EDU.oswego.cs.dl.util.concurrent.ReadWriteLock

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.

Version:
$Id: NonBlockingWriterLock.java,v 1.2 2005/04/05 17:19:28 belaban Exp $
Author:
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
NonBlockingWriterLock()
           
 
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

NonBlockingWriterLock

public NonBlockingWriterLock()
Method Detail

startWrite

protected boolean startWrite()
Overrides:
startWrite in class ReadWriteLockWithUpgrade


Copyright 1998-2005 JBoss Inc . All Rights Reserved.