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 SequentialExecutorPlus
executor
protected java.lang.Runnable
run
-
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 void
run()
void
runAfter(java.lang.Runnable run)
Run the provided task after all queued and executing jobs have completedvoid
sync()
Wait until all queued and executing jobs have completedjava.lang.String
toString()
boolean
trigger()
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.AtLeastOnceTrigger
Ensure the job is run at least once in its entirety after this method is invoked (including any already queued)- Specified by:
trigger
in interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
runAfter
public void runAfter(java.lang.Runnable run)
Description copied from interface:SequentialExecutorPlus.AtLeastOnceTrigger
Run the provided task after all queued and executing jobs have completed- Specified by:
runAfter
in interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
sync
public void sync()
Description copied from interface:SequentialExecutorPlus.AtLeastOnceTrigger
Wait until all queued and executing jobs have completed- Specified by:
sync
in interfaceSequentialExecutorPlus.AtLeastOnceTrigger
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.util.concurrent.atomic.AtomicBoolean
-
-