org.jacorb.imr
Class ResourceLock

java.lang.Object
  extended byorg.jacorb.imr.ResourceLock
All Implemented Interfaces:
java.io.Serializable

public class ResourceLock
extends java.lang.Object
implements java.io.Serializable

This class provides shared or exclusive access to a ressource. It preferes the exclusive access, i.e. if threads are waiting for exclusive access, shared locks can't be gained.

Author:
Nicolas Noffke $Id: ResourceLock.java,v 1.3 2004/05/06 12:39:59 nicolas Exp $
See Also:
Serialized Form

Constructor Summary
ResourceLock()
          The constructor.
 
Method Summary
 void gainExclusiveLock()
          This method tries to aquire an exclusive lock.
 void gainSharedLock()
          This method tries to aquire a shared lock.
 void releaseExclusiveLock()
          Releases the exclusive lock.
 void releaseSharedLock()
          Release the shared lock.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceLock

public ResourceLock()
The constructor.

Method Detail

gainSharedLock

public void gainSharedLock()
This method tries to aquire a shared lock. It blocks until the exclusive lock is released.


releaseSharedLock

public void releaseSharedLock()
Release the shared lock. Unblocks threads waiting for access.


gainExclusiveLock

public void gainExclusiveLock()
This method tries to aquire an exclusive lock. It blocks until all shared locks have been released.


releaseExclusiveLock

public void releaseExclusiveLock()
Releases the exclusive lock. Unblocks all threads waiting for access.