Class SchedulerThreadPool.SchedulableTick
- Enclosing class:
SchedulerThreadPool
SchedulerThreadPool.
A tickable task is expected to run on a fixed interval, which is determined by
the SchedulerThreadPool.
A tickable task can have intermediate tasks that can be executed before its tick method is ran. Instead of
the SchedulerThreadPool parking in-between ticks, the scheduler will instead drain
intermediate tasks from scheduled tasks. The parsing of intermediate tasks allows the scheduler to take
advantage of downtime to reduce the intermediate task load from tasks once they begin ticking.
It is guaranteed that runTick() and runTasks(BooleanSupplier) are never
invoked in parallel.
It is required that when intermediate tasks are scheduled, that SchedulerThreadPool.notifyTasks(SchedulableTick)
is invoked for any scheduled task - otherwise, runTasks(BooleanSupplier) may not be invoked to
parse intermediate tasks.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final longDeprecated.abstract booleanhasTasks()Deprecated.Returns whether this task has any intermediate tasks that can be executed.abstract BooleanrunTasks(BooleanSupplier canContinue) Deprecated.Returnsnullif this task should not be scheduled, otherwise returnsBoolean.TRUEif there are more intermediate tasks to execute andBoolean.FALSEif there are no more intermediate tasks to execute.abstract booleanrunTick()Deprecated.Executes the tick.protected final voidsetScheduledStart(long value) Deprecated.If this task is scheduled, then this may only be invoked duringrunTick(), andrunTasks(BooleanSupplier)toString()Deprecated.
-
Field Details
-
id
public final long idDeprecated.
-
-
Constructor Details
-
SchedulableTick
public SchedulableTick()Deprecated.
-
-
Method Details
-
getScheduledStart
protected final long getScheduledStart()Deprecated. -
setScheduledStart
protected final void setScheduledStart(long value) Deprecated.If this task is scheduled, then this may only be invoked duringrunTick(), andrunTasks(BooleanSupplier) -
runTick
public abstract boolean runTick()Deprecated.Executes the tick.It is the callee's responsibility to invoke
setScheduledStart(long)to adjust the start of the next tick.- Returns:
trueif the task should continue to be scheduled,falseotherwise.
-
hasTasks
public abstract boolean hasTasks()Deprecated.Returns whether this task has any intermediate tasks that can be executed. -
runTasks
Deprecated.Returnsnullif this task should not be scheduled, otherwise returnsBoolean.TRUEif there are more intermediate tasks to execute andBoolean.FALSEif there are no more intermediate tasks to execute. -
toString
Deprecated.
-