Package org.apache.cassandra.concurrent
Class SingleThreadExecutorPlus.AtLeastOnce
- java.lang.Object
-
- java.util.concurrent.atomic.AtomicBoolean
-
- org.apache.cassandra.concurrent.SingleThreadExecutorPlus.AtLeastOnce
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Runnable,SequentialExecutorPlus.AtLeastOnceTrigger
- Enclosing class:
- SingleThreadExecutorPlus
public static class SingleThreadExecutorPlus.AtLeastOnce extends java.util.concurrent.atomic.AtomicBoolean implements SequentialExecutorPlus.AtLeastOnceTrigger, java.lang.Runnable
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected SequentialExecutorPlusexecutorprotected java.lang.Runnablerun
-
Constructor Summary
Constructors Constructor Description AtLeastOnce(SequentialExecutorPlus executor, java.lang.Runnable run)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidrun()voidrunAfter(java.lang.Runnable run)Run the provided task after all queued and executing jobs have completedvoidsync()Wait until all queued and executing jobs have completedjava.lang.StringtoString()booleantrigger()Ensure the job is run at least once in its entirety after this method is invoked (including any already queued)-
Methods inherited from class java.util.concurrent.atomic.AtomicBoolean
compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndSet, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
-
-
-
Field Detail
-
executor
protected final SequentialExecutorPlus executor
-
run
protected final java.lang.Runnable run
-
-
Constructor Detail
-
AtLeastOnce
public AtLeastOnce(SequentialExecutorPlus executor, java.lang.Runnable run)
-
-
Method Detail
-
trigger
public boolean trigger()
Description copied from interface:SequentialExecutorPlus.AtLeastOnceTriggerEnsure the job is run at least once in its entirety after this method is invoked (including any already queued)- Specified by:
triggerin interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
runAfter
public void runAfter(java.lang.Runnable run)
Description copied from interface:SequentialExecutorPlus.AtLeastOnceTriggerRun the provided task after all queued and executing jobs have completed- Specified by:
runAfterin interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
sync
public void sync()
Description copied from interface:SequentialExecutorPlus.AtLeastOnceTriggerWait until all queued and executing jobs have completed- Specified by:
syncin interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.concurrent.atomic.AtomicBoolean
-
-