Class TrampolineScheduler
java.lang.Object
io.reactivex.rxjava3.core.Scheduler
io.reactivex.rxjava3.internal.schedulers.TrampolineScheduler
Schedules work on the current thread but does not execute immediately. Work is put in a queue and executed
after the current unit of work is completed.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
(package private) static final class
(package private) static final class
Nested classes/interfaces inherited from class io.reactivex.rxjava3.core.Scheduler
Scheduler.Worker
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRetrieves or creates a newScheduler.Worker
that represents sequential execution of actions.static TrampolineScheduler
instance()
Schedules the given task on this Scheduler without any time delay.scheduleDirect
(@NonNull Runnable run, long delay, TimeUnit unit) Schedules the execution of the given task with the given time delay.Methods inherited from class io.reactivex.rxjava3.core.Scheduler
clockDriftTolerance, now, schedulePeriodicallyDirect, shutdown, start, when
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
TrampolineScheduler
TrampolineScheduler()
-
-
Method Details
-
instance
-
createWorker
Description copied from class:Scheduler
Retrieves or creates a newScheduler.Worker
that represents sequential execution of actions.When work is completed, the
Worker
instance should be released by callingDisposable.dispose()
to avoid potential resource leaks in the underlying task-execution scheme.Work on a
Scheduler.Worker
is guaranteed to be sequential and non-overlapping.- Specified by:
createWorker
in classScheduler
- Returns:
- a Worker representing a serial queue of actions to be executed
-
scheduleDirect
Description copied from class:Scheduler
Schedules the given task on this Scheduler without any time delay.This method is safe to be called from multiple threads but there are no ordering or non-overlapping guarantees between tasks.
- Overrides:
scheduleDirect
in classScheduler
- Parameters:
run
- the task to execute- Returns:
- the Disposable instance that let's one cancel this particular task.
-
scheduleDirect
@NonNull public @NonNull Disposable scheduleDirect(@NonNull @NonNull Runnable run, long delay, TimeUnit unit) Description copied from class:Scheduler
Schedules the execution of the given task with the given time delay.This method is safe to be called from multiple threads but there are no ordering guarantees between tasks.
- Overrides:
scheduleDirect
in classScheduler
- Parameters:
run
- the task to scheduledelay
- the delay amount, non-positive values indicate non-delayed schedulingunit
- the unit of measure of the delay amount- Returns:
- the Disposable that let's one cancel this particular delayed task.
-