Package | Description |
---|---|
com.google.common.util.concurrent |
Concurrency utilities.
|
Modifier and Type | Field and Description |
---|---|
private CycleDetectingLockFactory.LockGraphNode |
CycleDetectingLockFactory.CycleDetectingReentrantLock.lockGraphNode |
private CycleDetectingLockFactory.LockGraphNode |
CycleDetectingLockFactory.CycleDetectingReentrantReadWriteLock.lockGraphNode |
Modifier and Type | Field and Description |
---|---|
private static java.lang.ThreadLocal<java.util.ArrayList<CycleDetectingLockFactory.LockGraphNode>> |
CycleDetectingLockFactory.acquiredLocks
Tracks the currently acquired locks for each Thread, kept up to date by calls to
CycleDetectingLockFactory.aboutToAcquire(CycleDetectingLock) and CycleDetectingLockFactory.lockStateChanged(CycleDetectingLock) . |
(package private) java.util.Map<CycleDetectingLockFactory.LockGraphNode,CycleDetectingLockFactory.ExampleStackTrace> |
CycleDetectingLockFactory.LockGraphNode.allowedPriorLocks
The map tracking the locks that are known to be acquired before this lock, each associated
with an example stack trace.
|
(package private) java.util.Map<CycleDetectingLockFactory.LockGraphNode,CycleDetectingLockFactory.PotentialDeadlockException> |
CycleDetectingLockFactory.LockGraphNode.disallowedPriorLocks
The map tracking lock nodes that can cause a lock acquisition cycle if acquired before this
node.
|
private java.util.Map<E,CycleDetectingLockFactory.LockGraphNode> |
CycleDetectingLockFactory.WithExplicitOrdering.lockGraphNodes |
private static java.util.concurrent.ConcurrentMap<java.lang.Class<? extends java.lang.Enum<?>>,java.util.Map<? extends java.lang.Enum<?>,CycleDetectingLockFactory.LockGraphNode>> |
CycleDetectingLockFactory.lockGraphNodesPerType |
Modifier and Type | Method and Description |
---|---|
CycleDetectingLockFactory.LockGraphNode |
CycleDetectingLockFactory.CycleDetectingLock.getLockGraphNode() |
CycleDetectingLockFactory.LockGraphNode |
CycleDetectingLockFactory.CycleDetectingReentrantLock.getLockGraphNode() |
CycleDetectingLockFactory.LockGraphNode |
CycleDetectingLockFactory.CycleDetectingReentrantReadWriteLock.getLockGraphNode() |
Modifier and Type | Method and Description |
---|---|
(package private) static <E extends java.lang.Enum<E>> |
CycleDetectingLockFactory.createNodes(java.lang.Class<E> clazz)
For a given Enum type, creates an immutable map from each of the Enum's values to a
corresponding LockGraphNode, with the
allowedPriorLocks and disallowedPriorLocks prepopulated with nodes according to the natural ordering of the
associated Enum values. |
private static <E extends java.lang.Enum<E>> |
CycleDetectingLockFactory.getOrCreateNodes(java.lang.Class<E> clazz) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
CycleDetectingLockFactory.LockGraphNode.checkAcquiredLock(CycleDetectingLockFactory.Policy policy,
CycleDetectingLockFactory.LockGraphNode acquiredLock)
Checks the acquisition-ordering between
this , which is about to be acquired, and the
specified acquiredLock . |
private CycleDetectingLockFactory.ExampleStackTrace |
CycleDetectingLockFactory.LockGraphNode.findPathTo(CycleDetectingLockFactory.LockGraphNode node,
java.util.Set<CycleDetectingLockFactory.LockGraphNode> seen)
Performs a depth-first traversal of the graph edges defined by each node's
allowedPriorLocks to find a path between this and the specified lock . |
Modifier and Type | Method and Description |
---|---|
(package private) void |
CycleDetectingLockFactory.LockGraphNode.checkAcquiredLocks(CycleDetectingLockFactory.Policy policy,
java.util.List<CycleDetectingLockFactory.LockGraphNode> acquiredLocks) |
private CycleDetectingLockFactory.ExampleStackTrace |
CycleDetectingLockFactory.LockGraphNode.findPathTo(CycleDetectingLockFactory.LockGraphNode node,
java.util.Set<CycleDetectingLockFactory.LockGraphNode> seen)
Performs a depth-first traversal of the graph edges defined by each node's
allowedPriorLocks to find a path between this and the specified lock . |
Constructor and Description |
---|
CycleDetectingReentrantLock(CycleDetectingLockFactory.LockGraphNode lockGraphNode,
boolean fair) |
CycleDetectingReentrantReadWriteLock(CycleDetectingLockFactory.LockGraphNode lockGraphNode,
boolean fair) |
ExampleStackTrace(CycleDetectingLockFactory.LockGraphNode node1,
CycleDetectingLockFactory.LockGraphNode node2) |
PotentialDeadlockException(CycleDetectingLockFactory.LockGraphNode node1,
CycleDetectingLockFactory.LockGraphNode node2,
CycleDetectingLockFactory.ExampleStackTrace conflictingStackTrace) |
Constructor and Description |
---|
WithExplicitOrdering(CycleDetectingLockFactory.Policy policy,
java.util.Map<E,CycleDetectingLockFactory.LockGraphNode> lockGraphNodes) |