Class ExecutorScheduler.ExecutorWorker
- java.lang.Object
-
- io.reactivex.rxjava3.core.Scheduler.Worker
-
- io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.ExecutorWorker
-
- All Implemented Interfaces:
Disposable,java.lang.Runnable
- Enclosing class:
- ExecutorScheduler
public static final class ExecutorScheduler.ExecutorWorker extends Scheduler.Worker implements java.lang.Runnable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classExecutorScheduler.ExecutorWorker.BooleanRunnable(package private) static classExecutorScheduler.ExecutorWorker.InterruptibleRunnableWrapper for aRunnablewith additional logic for handling interruption on a shared thread, similar to how Java Executors do it.(package private) classExecutorScheduler.ExecutorWorker.SequentialDispose
-
Field Summary
Fields Modifier and Type Field Description (package private) booleandisposed(package private) java.util.concurrent.Executorexecutor(package private) booleanfair(package private) booleaninterruptibleWorker(package private) MpscLinkedQueue<java.lang.Runnable>queue(package private) CompositeDisposabletasks(package private) java.util.concurrent.atomic.AtomicIntegerwip
-
Constructor Summary
Constructors Constructor Description ExecutorWorker(java.util.concurrent.Executor executor, boolean interruptibleWorker, boolean fair)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddispose()Dispose the resource, the operation should be idempotent.booleanisDisposed()Returns true if this resource has been disposed.voidrun()(package private) voidrunEager()(package private) voidrunFair()@NonNull Disposableschedule(@NonNull java.lang.Runnable run)Schedules a Runnable for execution without any time delay.@NonNull Disposableschedule(@NonNull java.lang.Runnable run, long delay, @NonNull java.util.concurrent.TimeUnit unit)Schedules an Runnable for execution at some point in the future specified by a time delay relative to the current time.-
Methods inherited from class io.reactivex.rxjava3.core.Scheduler.Worker
now, schedulePeriodically
-
-
-
-
Field Detail
-
interruptibleWorker
final boolean interruptibleWorker
-
fair
final boolean fair
-
executor
final java.util.concurrent.Executor executor
-
queue
final MpscLinkedQueue<java.lang.Runnable> queue
-
disposed
volatile boolean disposed
-
wip
final java.util.concurrent.atomic.AtomicInteger wip
-
tasks
final CompositeDisposable tasks
-
-
Method Detail
-
schedule
@NonNull public @NonNull Disposable schedule(@NonNull @NonNull java.lang.Runnable run)
Description copied from class:Scheduler.WorkerSchedules a Runnable for execution without any time delay.The default implementation delegates to
Scheduler.Worker.schedule(Runnable, long, TimeUnit).- Overrides:
schedulein classScheduler.Worker- Parameters:
run- Runnable to schedule- Returns:
- a Disposable to be able to unsubscribe the action (cancel it if not executed)
-
schedule
@NonNull public @NonNull Disposable schedule(@NonNull @NonNull java.lang.Runnable run, long delay, @NonNull @NonNull java.util.concurrent.TimeUnit unit)
Description copied from class:Scheduler.WorkerSchedules an Runnable for execution at some point in the future specified by a time delay relative to the current time.Note to implementors: non-positive
delayTimeshould be regarded as non-delayed schedule, i.e., as if theScheduler.Worker.schedule(Runnable)was called.- Specified by:
schedulein classScheduler.Worker- Parameters:
run- the Runnable to scheduledelay- time to "wait" before executing the action; non-positive values indicate an non-delayed scheduleunit- the time unit ofdelayTime- Returns:
- a Disposable to be able to unsubscribe the action (cancel it if not executed)
-
dispose
public void dispose()
Description copied from interface:DisposableDispose the resource, the operation should be idempotent.- Specified by:
disposein interfaceDisposable
-
isDisposed
public boolean isDisposed()
Description copied from interface:DisposableReturns true if this resource has been disposed.- Specified by:
isDisposedin interfaceDisposable- Returns:
- true if this resource has been disposed
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
runFair
void runFair()
-
runEager
void runEager()
-
-