Class AbstractFuture.SafeAtomicHelper
java.lang.Object
com.google.common.util.concurrent.AbstractFuture.AtomicHelper
com.google.common.util.concurrent.AbstractFuture.SafeAtomicHelper
- Enclosing class:
- AbstractFuture<V>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Listener> (package private) final AtomicReferenceFieldUpdater<AbstractFuture,Object> (package private) final AtomicReferenceFieldUpdater<AbstractFuture.Waiter,AbstractFuture.Waiter> (package private) final AtomicReferenceFieldUpdater<AbstractFuture,AbstractFuture.Waiter> (package private) final AtomicReferenceFieldUpdater<AbstractFuture.Waiter,Thread> -
Constructor Summary
ConstructorsConstructorDescriptionSafeAtomicHelper(AtomicReferenceFieldUpdater<AbstractFuture.Waiter, Thread> waiterThreadUpdater, AtomicReferenceFieldUpdater<AbstractFuture.Waiter, AbstractFuture.Waiter> waiterNextUpdater, AtomicReferenceFieldUpdater<AbstractFuture, AbstractFuture.Waiter> waitersUpdater, AtomicReferenceFieldUpdater<AbstractFuture, AbstractFuture.Listener> listenersUpdater, AtomicReferenceFieldUpdater<AbstractFuture, Object> valueUpdater) -
Method Summary
Modifier and TypeMethodDescription(package private) booleancasListeners(AbstractFuture<?> future, AbstractFuture.Listener expect, AbstractFuture.Listener update) Performs a CAS operation on theAbstractFuture.listenersfield.(package private) booleancasValue(AbstractFuture<?> future, Object expect, Object update) Performs a CAS operation on theAbstractFuture.valuefield.(package private) booleancasWaiters(AbstractFuture<?> future, AbstractFuture.Waiter expect, AbstractFuture.Waiter update) Performs a CAS operation on theAbstractFuture.waitersfield.(package private) AbstractFuture.ListenergasListeners(AbstractFuture<?> future, AbstractFuture.Listener update) Performs a GAS operation on theAbstractFuture.listenersfield.(package private) AbstractFuture.WaitergasWaiters(AbstractFuture<?> future, AbstractFuture.Waiter update) Performs a GAS operation on theAbstractFuture.waitersfield.(package private) voidputNext(AbstractFuture.Waiter waiter, AbstractFuture.Waiter newValue) Non-volatile write of the waiter to theAbstractFuture.Waiter.nextfield.(package private) voidputThread(AbstractFuture.Waiter waiter, Thread newValue) Non-volatile write of the thread to theAbstractFuture.Waiter.threadfield.
-
Field Details
-
waiterThreadUpdater
-
waiterNextUpdater
-
waitersUpdater
-
listenersUpdater
-
valueUpdater
-
-
Constructor Details
-
SafeAtomicHelper
SafeAtomicHelper(AtomicReferenceFieldUpdater<AbstractFuture.Waiter, Thread> waiterThreadUpdater, AtomicReferenceFieldUpdater<AbstractFuture.Waiter, AbstractFuture.Waiter> waiterNextUpdater, AtomicReferenceFieldUpdater<AbstractFuture, AbstractFuture.Waiter> waitersUpdater, AtomicReferenceFieldUpdater<AbstractFuture, AbstractFuture.Listener> listenersUpdater, AtomicReferenceFieldUpdater<AbstractFuture, Object> valueUpdater)
-
-
Method Details
-
putThread
Description copied from class:AbstractFuture.AtomicHelperNon-volatile write of the thread to theAbstractFuture.Waiter.threadfield.- Specified by:
putThreadin classAbstractFuture.AtomicHelper
-
putNext
Description copied from class:AbstractFuture.AtomicHelperNon-volatile write of the waiter to theAbstractFuture.Waiter.nextfield.- Specified by:
putNextin classAbstractFuture.AtomicHelper
-
casWaiters
boolean casWaiters(AbstractFuture<?> future, @CheckForNull AbstractFuture.Waiter expect, @CheckForNull AbstractFuture.Waiter update) Description copied from class:AbstractFuture.AtomicHelperPerforms a CAS operation on theAbstractFuture.waitersfield.- Specified by:
casWaitersin classAbstractFuture.AtomicHelper
-
casListeners
boolean casListeners(AbstractFuture<?> future, @CheckForNull AbstractFuture.Listener expect, AbstractFuture.Listener update) Description copied from class:AbstractFuture.AtomicHelperPerforms a CAS operation on theAbstractFuture.listenersfield.- Specified by:
casListenersin classAbstractFuture.AtomicHelper
-
gasListeners
Performs a GAS operation on theAbstractFuture.listenersfield.- Specified by:
gasListenersin classAbstractFuture.AtomicHelper
-
gasWaiters
Performs a GAS operation on theAbstractFuture.waitersfield.- Specified by:
gasWaitersin classAbstractFuture.AtomicHelper
-
casValue
Description copied from class:AbstractFuture.AtomicHelperPerforms a CAS operation on theAbstractFuture.valuefield.- Specified by:
casValuein classAbstractFuture.AtomicHelper
-