Class AbstractFuture.SynchronizedHelper
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractFuture.AtomicHelper
-
- com.google.common.util.concurrent.AbstractFuture.SynchronizedHelper
-
- Enclosing class:
- AbstractFuture<V>
private static final class AbstractFuture.SynchronizedHelper extends AbstractFuture.AtomicHelper
AbstractFuture.AtomicHelperbased onsynchronizedand volatile writes.This is an implementation of last resort for when certain basic VM features are broken (like AtomicReferenceFieldUpdater).
-
-
Constructor Summary
Constructors Modifier Constructor Description privateSynchronizedHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleancasListeners(AbstractFuture<?> future, AbstractFuture.Listener expect, AbstractFuture.Listener update)Performs a CAS operation on theAbstractFuture.listenersfield.(package private) booleancasValue(AbstractFuture<?> future, java.lang.Object expect, java.lang.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) voidputNext(AbstractFuture.Waiter waiter, AbstractFuture.Waiter newValue)Non volatile write of the waiter to theAbstractFuture.Waiter.nextfield.(package private) voidputThread(AbstractFuture.Waiter waiter, java.lang.Thread newValue)Non volatile write of the thread to theAbstractFuture.Waiter.threadfield.
-
-
-
Method Detail
-
putThread
void putThread(AbstractFuture.Waiter waiter, java.lang.Thread newValue)
Description copied from class:AbstractFuture.AtomicHelperNon volatile write of the thread to theAbstractFuture.Waiter.threadfield.- Specified by:
putThreadin classAbstractFuture.AtomicHelper
-
putNext
void putNext(AbstractFuture.Waiter waiter, AbstractFuture.Waiter newValue)
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, AbstractFuture.Waiter expect, 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, AbstractFuture.Listener expect, AbstractFuture.Listener update)
Description copied from class:AbstractFuture.AtomicHelperPerforms a CAS operation on theAbstractFuture.listenersfield.- Specified by:
casListenersin classAbstractFuture.AtomicHelper
-
casValue
boolean casValue(AbstractFuture<?> future, java.lang.Object expect, java.lang.Object update)
Description copied from class:AbstractFuture.AtomicHelperPerforms a CAS operation on theAbstractFuture.valuefield.- Specified by:
casValuein classAbstractFuture.AtomicHelper
-
-