org.jboss.cache.util.concurrent.locks
Class LockContainer<E>
java.lang.Object
org.jboss.cache.util.concurrent.locks.LockContainer<E>
- Direct Known Subclasses:
- OwnableReentrantLockContainer, ReentrantLockContainer
@ThreadSafe
public abstract class LockContainer<E>
- extends Object
A container for locks. Used with lock striping.
- Since:
- 3.0
- Author:
- Manik Surtani (manik AT jboss DOT org)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LockContainer
public LockContainer()
calculateNumberOfSegments
protected int calculateNumberOfSegments(int concurrencyLevel)
hashToIndex
public final int hashToIndex(E object)
initLocks
protected abstract void initLocks(int numLocks)
ownsLock
public abstract boolean ownsLock(E object,
Object owner)
- Tests if a give owner owns a lock on a specified object.
- Parameters:
object
- object to checkowner
- owner to test
- Returns:
- true if owner owns lock, false otherwise
isLocked
public abstract boolean isLocked(E object)
- Parameters:
object
- object
- Returns:
- true if an object is locked, false otherwise
getLock
public abstract Lock getLock(E object)
- Parameters:
object
- object
- Returns:
- the lock for a specific object
getNumLocksHeld
public abstract int getNumLocksHeld()
- Returns:
- number of locks held
reset
public abstract void reset()
- Clears all locks held and re-initialises stripes.
size
public abstract int size()
Copyright © 2008 JBoss, a division of Red Hat. All Rights Reserved.