Package org.codehaus.groovy.util
Class LockableObject
java.lang.Object
java.util.concurrent.locks.AbstractOwnableSynchronizer
java.util.concurrent.locks.AbstractQueuedSynchronizer
org.codehaus.groovy.util.LockableObject
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AbstractConcurrentMapBase.Segment
,LazyReference
public class LockableObject extends AbstractQueuedSynchronizer
A bit simplified lock designed to be inherited by.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer
AbstractQueuedSynchronizer.ConditionObject
-
Constructor Summary
Constructors Constructor Description LockableObject()
-
Method Summary
Modifier and Type Method Description protected boolean
isHeldExclusively()
void
lock()
protected boolean
tryAcquire(int acquires)
protected boolean
tryRelease(int releases)
void
unlock()
Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer
acquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isQueued, owns, release, releaseShared, setState, toString, tryAcquireNanos, tryAcquireShared, tryAcquireSharedNanos, tryReleaseShared
Methods inherited from class java.util.concurrent.locks.AbstractOwnableSynchronizer
getExclusiveOwnerThread, setExclusiveOwnerThread
-
Constructor Details
-
LockableObject
public LockableObject()
-
-
Method Details
-
isHeldExclusively
protected final boolean isHeldExclusively()- Overrides:
isHeldExclusively
in classAbstractQueuedSynchronizer
-
lock
public final void lock() -
unlock
public final void unlock() -
tryAcquire
protected final boolean tryAcquire(int acquires)- Overrides:
tryAcquire
in classAbstractQueuedSynchronizer
-
tryRelease
protected final boolean tryRelease(int releases)- Overrides:
tryRelease
in classAbstractQueuedSynchronizer
-