Package | Description |
---|---|
com.google.common.util.concurrent |
Concurrency utilities.
|
Modifier and Type | Field and Description |
---|---|
(package private) AbstractFuture.Waiter |
AbstractFuture.Waiter.next |
(package private) static AbstractFuture.Waiter |
AbstractFuture.Waiter.TOMBSTONE |
private AbstractFuture.Waiter |
AbstractFuture.waiters
All waiting threads.
|
Modifier and Type | Field and Description |
---|---|
(package private) java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> |
AbstractFuture.SafeAtomicHelper.waiterNextUpdater |
(package private) java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> |
AbstractFuture.SafeAtomicHelper.waiterNextUpdater |
(package private) java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> |
AbstractFuture.SafeAtomicHelper.waitersUpdater |
(package private) java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,java.lang.Thread> |
AbstractFuture.SafeAtomicHelper.waiterThreadUpdater |
Modifier and Type | Method and Description |
---|---|
(package private) abstract boolean |
AbstractFuture.AtomicHelper.casWaiters(AbstractFuture<?> future,
AbstractFuture.Waiter expect,
AbstractFuture.Waiter update)
Performs a CAS operation on the
AbstractFuture.waiters field. |
(package private) boolean |
AbstractFuture.UnsafeAtomicHelper.casWaiters(AbstractFuture<?> future,
AbstractFuture.Waiter expect,
AbstractFuture.Waiter update)
Performs a CAS operation on the
AbstractFuture.waiters field. |
(package private) boolean |
AbstractFuture.SafeAtomicHelper.casWaiters(AbstractFuture<?> future,
AbstractFuture.Waiter expect,
AbstractFuture.Waiter update) |
(package private) boolean |
AbstractFuture.SynchronizedHelper.casWaiters(AbstractFuture<?> future,
AbstractFuture.Waiter expect,
AbstractFuture.Waiter update) |
(package private) abstract void |
AbstractFuture.AtomicHelper.putNext(AbstractFuture.Waiter waiter,
AbstractFuture.Waiter newValue)
Non volatile write of the waiter to the
next field. |
(package private) void |
AbstractFuture.UnsafeAtomicHelper.putNext(AbstractFuture.Waiter waiter,
AbstractFuture.Waiter newValue) |
(package private) void |
AbstractFuture.SafeAtomicHelper.putNext(AbstractFuture.Waiter waiter,
AbstractFuture.Waiter newValue) |
(package private) void |
AbstractFuture.SynchronizedHelper.putNext(AbstractFuture.Waiter waiter,
AbstractFuture.Waiter newValue) |
(package private) abstract void |
AbstractFuture.AtomicHelper.putThread(AbstractFuture.Waiter waiter,
java.lang.Thread newValue)
Non volatile write of the thread to the
thread field. |
(package private) void |
AbstractFuture.UnsafeAtomicHelper.putThread(AbstractFuture.Waiter waiter,
java.lang.Thread newValue) |
(package private) void |
AbstractFuture.SafeAtomicHelper.putThread(AbstractFuture.Waiter waiter,
java.lang.Thread newValue) |
(package private) void |
AbstractFuture.SynchronizedHelper.putThread(AbstractFuture.Waiter waiter,
java.lang.Thread newValue) |
private void |
AbstractFuture.removeWaiter(AbstractFuture.Waiter node)
Marks the given node as 'deleted' (null waiter) and then scans the list to unlink all deleted
nodes.
|
(package private) void |
AbstractFuture.Waiter.setNext(AbstractFuture.Waiter next) |
Constructor and Description |
---|
SafeAtomicHelper(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,java.lang.Thread> waiterThreadUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> waiterNextUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> waitersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Listener> listenersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,java.lang.Object> valueUpdater) |
SafeAtomicHelper(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,java.lang.Thread> waiterThreadUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> waiterNextUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> waitersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Listener> listenersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,java.lang.Object> valueUpdater) |
SafeAtomicHelper(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,java.lang.Thread> waiterThreadUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> waiterNextUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> waitersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Listener> listenersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,java.lang.Object> valueUpdater) |
SafeAtomicHelper(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,java.lang.Thread> waiterThreadUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> waiterNextUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> waitersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Listener> listenersUpdater,
java.util.concurrent.atomic.AtomicReferenceFieldUpdater<AbstractFuture,java.lang.Object> valueUpdater) |