Class CycleDetectingLockFactory.CycleDetectingReentrantLock
- java.lang.Object
-
- java.util.concurrent.locks.ReentrantLock
-
- com.google.common.util.concurrent.CycleDetectingLockFactory.CycleDetectingReentrantLock
-
- All Implemented Interfaces:
CycleDetectingLockFactory.CycleDetectingLock
,java.io.Serializable
,java.util.concurrent.locks.Lock
- Enclosing class:
- CycleDetectingLockFactory
final class CycleDetectingLockFactory.CycleDetectingReentrantLock extends java.util.concurrent.locks.ReentrantLock implements CycleDetectingLockFactory.CycleDetectingLock
-
-
Field Summary
Fields Modifier and Type Field Description private CycleDetectingLockFactory.LockGraphNode
lockGraphNode
-
Constructor Summary
Constructors Modifier Constructor Description private
CycleDetectingReentrantLock(CycleDetectingLockFactory.LockGraphNode lockGraphNode, boolean fair)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CycleDetectingLockFactory.LockGraphNode
getLockGraphNode()
boolean
isAcquiredByCurrentThread()
void
lock()
void
lockInterruptibly()
boolean
tryLock()
boolean
tryLock(long timeout, java.util.concurrent.TimeUnit unit)
void
unlock()
-
-
-
Field Detail
-
lockGraphNode
private final CycleDetectingLockFactory.LockGraphNode lockGraphNode
-
-
Constructor Detail
-
CycleDetectingReentrantLock
private CycleDetectingReentrantLock(CycleDetectingLockFactory.LockGraphNode lockGraphNode, boolean fair)
-
-
Method Detail
-
getLockGraphNode
public CycleDetectingLockFactory.LockGraphNode getLockGraphNode()
- Specified by:
getLockGraphNode
in interfaceCycleDetectingLockFactory.CycleDetectingLock
- Returns:
- the
CycleDetectingLockFactory.LockGraphNode
associated with this lock.
-
isAcquiredByCurrentThread
public boolean isAcquiredByCurrentThread()
- Specified by:
isAcquiredByCurrentThread
in interfaceCycleDetectingLockFactory.CycleDetectingLock
- Returns:
true
if the current thread has acquired this lock.
-
lock
public void lock()
- Specified by:
lock
in interfacejava.util.concurrent.locks.Lock
- Overrides:
lock
in classjava.util.concurrent.locks.ReentrantLock
-
lockInterruptibly
public void lockInterruptibly() throws java.lang.InterruptedException
- Specified by:
lockInterruptibly
in interfacejava.util.concurrent.locks.Lock
- Overrides:
lockInterruptibly
in classjava.util.concurrent.locks.ReentrantLock
- Throws:
java.lang.InterruptedException
-
tryLock
public boolean tryLock()
- Specified by:
tryLock
in interfacejava.util.concurrent.locks.Lock
- Overrides:
tryLock
in classjava.util.concurrent.locks.ReentrantLock
-
tryLock
public boolean tryLock(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
tryLock
in interfacejava.util.concurrent.locks.Lock
- Overrides:
tryLock
in classjava.util.concurrent.locks.ReentrantLock
- Throws:
java.lang.InterruptedException
-
unlock
public void unlock()
- Specified by:
unlock
in interfacejava.util.concurrent.locks.Lock
- Overrides:
unlock
in classjava.util.concurrent.locks.ReentrantLock
-
-