com.mchange.v2.lock
Class SimpleSharedUseExclusiveUseLock

java.lang.Object
  extended by com.mchange.v2.lock.SimpleSharedUseExclusiveUseLock
All Implemented Interfaces:
SharedUseExclusiveUseLock

public class SimpleSharedUseExclusiveUseLock
extends java.lang.Object
implements SharedUseExclusiveUseLock

NONREENTRANT!!! also... would be more efficient if we segregated readers and writers into separate wait sets.


Constructor Summary
SimpleSharedUseExclusiveUseLock()
           
 
Method Summary
 void acquireExclusive()
           
 void acquireShared()
           
 void relinquishExclusive()
           
 void relinquishShared()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleSharedUseExclusiveUseLock

public SimpleSharedUseExclusiveUseLock()
Method Detail

acquireShared

public void acquireShared()
                   throws java.lang.InterruptedException
Specified by:
acquireShared in interface SharedUseExclusiveUseLock
Throws:
java.lang.InterruptedException

relinquishShared

public void relinquishShared()
Specified by:
relinquishShared in interface SharedUseExclusiveUseLock

acquireExclusive

public void acquireExclusive()
                      throws java.lang.InterruptedException
Specified by:
acquireExclusive in interface SharedUseExclusiveUseLock
Throws:
java.lang.InterruptedException

relinquishExclusive

public void relinquishExclusive()
Specified by:
relinquishExclusive in interface SharedUseExclusiveUseLock