Top Description Inners Fields Constructors Methods
io.reactivex.rxjava3.internal.schedulers

public final Class ExecutorScheduler

extends Scheduler
Class Inheritance
Imports
java.util.concurrent.*, java.util.concurrent.atomic.*, io.reactivex.rxjava3.annotations.NonNull, io.reactivex.rxjava3.core.Scheduler, io.reactivex.rxjava3.disposables.*, io.reactivex.rxjava3.internal.disposables.*, io.reactivex.rxjava3.internal.functions.Functions, io.reactivex.rxjava3.internal.queue.MpscLinkedQueue, io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.ExecutorWorker.*, io.reactivex.rxjava3.plugins.RxJavaPlugins, io.reactivex.rxjava3.schedulers.*

Wraps an Executor and provides the Scheduler API over it.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class
pack-priv static class
public static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final @NonNull Executor
pack-priv final boolean
pack-priv final boolean

Constructor Summary

AccessConstructor and Description
public
ExecutorScheduler(@NonNull Executor executor, boolean interruptibleWorker, boolean fair)

Method Summary

Modifier and TypeMethod and Description
public @NonNull Scheduler.Worker
createWorker()

Implements abstract io.reactivex.rxjava3.core.Scheduler.createWorker.

Retrieves or creates a new Scheduler.Worker that represents sequential execution of actions.
public @NonNull Disposable
public @NonNull Disposable
scheduleDirect(@NonNull Runnable run, final long delay, final TimeUnit unit)

public @NonNull Disposable
schedulePeriodicallyDirect(@NonNull Runnable run, long initialDelay, long period, TimeUnit unit)

Inherited from io.reactivex.rxjava3.core.Scheduler:
clockDriftTolerancenowscheduleDirectscheduleDirectschedulePeriodicallyDirectshutdownstartwhen

Field Detail

executorback to summary
pack-priv final @NonNull Executor executor
Annotations
@NonNull
fairback to summary
pack-priv final boolean fair
interruptibleWorkerback to summary
pack-priv final boolean interruptibleWorker

Constructor Detail

ExecutorSchedulerback to summary
public ExecutorScheduler(@NonNull Executor executor, boolean interruptibleWorker, boolean fair)

Method Detail

createWorkerback to summary
public @NonNull Scheduler.Worker createWorker()

Implements abstract io.reactivex.rxjava3.core.Scheduler.createWorker.

Doc from io.reactivex.rxjava3.core.Scheduler.createWorker.

Retrieves or creates a new Scheduler.Worker that represents sequential execution of actions.

When work is completed, the Worker instance should be released by calling Scheduler.Worker#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.

Returns:@NonNull Scheduler.Worker

a Worker representing a serial queue of actions to be executed

Annotations
@NonNull
@Override
scheduleDirectback to summary
public @NonNull Disposable scheduleDirect(@NonNull Runnable run)
Annotations
@NonNull
@Override
scheduleDirectback to summary
public @NonNull Disposable scheduleDirect(@NonNull Runnable run, final long delay, final TimeUnit unit)
Annotations
@NonNull
@Override
schedulePeriodicallyDirectback to summary
public @NonNull Disposable schedulePeriodicallyDirect(@NonNull Runnable run, long initialDelay, long period, TimeUnit unit)
Annotations
@NonNull
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.DelayedDispose

extends Object
implements Runnable
Class Inheritance
  • java.lang.Object
  • io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.DelayedDispose
All Implemented Interfaces
java.lang.Runnable

Field Summary

Modifier and TypeField and Description
private final ExecutorScheduler.DelayedRunnable

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
run()

Implements java.lang.Runnable.run.

Runs this operation.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

drback to summary
private final ExecutorScheduler.DelayedRunnable dr

Constructor Detail

DelayedDisposeback to summary
pack-priv DelayedDispose(ExecutorScheduler.DelayedRunnable dr)

Method Detail

runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.DelayedRunnable

extends AtomicReference<Runnable>
implements Runnable, Disposable, SchedulerRunnableIntrospection
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.schedulers.SchedulerRunnableIntrospection, io.reactivex.rxjava3.disposables.Disposable, java.lang.Runnable

Field Summary

Modifier and TypeField and Description
pack-priv final SequentialDisposable
private static final long
pack-priv final SequentialDisposable

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.
public Runnable
public boolean
isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.
public void
run()

Implements java.lang.Runnable.run.

Runs this operation.
Inherited from java.util.concurrent.atomic.AtomicReference:
accumulateAndGetcompareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetgetgetAcquiregetAndAccumulategetAndSetgetAndUpdategetOpaquegetPlainlazySetsetsetOpaquesetPlainsetReleasetoStringupdateAndGetweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

directback to summary
pack-priv final SequentialDisposable direct
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicReference.serialVersionUID.

timedback to summary
pack-priv final SequentialDisposable timed

Constructor Detail

DelayedRunnableback to summary
pack-priv DelayedRunnable(Runnable run)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Doc from io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
getWrappedRunnableback to summary
public Runnable getWrappedRunnable()

Implements io.reactivex.rxjava3.schedulers.SchedulerRunnableIntrospection.getWrappedRunnable.

Doc from io.reactivex.rxjava3.schedulers.SchedulerRunnableIntrospection.getWrappedRunnable.

Returns the wrapped action.

Returns:Runnable

the wrapped action. Cannot be null.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override
runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

public final Class ExecutorScheduler.ExecutorWorker

extends Worker
implements Runnable
Class Inheritance
All Implemented Interfaces
java.lang.Runnable

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class
ExecutorScheduler.ExecutorWorker.InterruptibleRunnable

Wrapper for a Runnable with additional logic for handling interruption on a shared thread, similar to how Java Executors do it.

pack-priv class

Field Summary

Modifier and TypeField and Description
pack-priv volatile boolean
pack-priv final Executor
pack-priv final boolean
pack-priv final boolean
pack-priv final MpscLinkedQueue<Runnable>
pack-priv final CompositeDisposable
pack-priv final AtomicInteger

Constructor Summary

AccessConstructor and Description
public
ExecutorWorker(Executor executor, boolean interruptibleWorker, boolean fair)

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.
public boolean
isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.
public void
run()

Implements java.lang.Runnable.run.

Runs this operation.
pack-priv void
pack-priv void
public @NonNull Disposable
public @NonNull Disposable
schedule(@NonNull Runnable run, long delay, @NonNull TimeUnit unit)

Inherited from io.reactivex.rxjava3.core.Scheduler.Worker:
nowschedulescheduleschedulePeriodically

Field Detail

disposedback to summary
pack-priv volatile boolean disposed
executorback to summary
pack-priv final Executor executor
fairback to summary
pack-priv final boolean fair
interruptibleWorkerback to summary
pack-priv final boolean interruptibleWorker
queueback to summary
pack-priv final MpscLinkedQueue<Runnable> queue
tasksback to summary
pack-priv final CompositeDisposable tasks
wipback to summary
pack-priv final AtomicInteger wip

Constructor Detail

ExecutorWorkerback to summary
public ExecutorWorker(Executor executor, boolean interruptibleWorker, boolean fair)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Doc from io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override
runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
runEagerback to summary
pack-priv void runEager()
runFairback to summary
pack-priv void runFair()
scheduleback to summary
public @NonNull Disposable schedule(@NonNull Runnable run)
Annotations
@NonNull
@Override
scheduleback to summary
public @NonNull Disposable schedule(@NonNull Runnable run, long delay, @NonNull TimeUnit unit)
Annotations
@NonNull
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.ExecutorWorker.BooleanRunnable

extends AtomicBoolean
implements Runnable, Disposable
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.disposables.Disposable, java.lang.Runnable

Field Summary

Modifier and TypeField and Description
pack-priv final Runnable
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv

Field Detail

actualback to summary
pack-priv final Runnable actual
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicBoolean.serialVersionUID.

Constructor Detail

BooleanRunnableback to summary
pack-priv BooleanRunnable(Runnable actual)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Doc from io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override
runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.ExecutorWorker.InterruptibleRunnable

extends AtomicInteger
implements Runnable, Disposable
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.disposables.Disposable, java.lang.Runnable

Wrapper for a Runnable with additional logic for handling interruption on a shared thread, similar to how Java Executors do it.

Field Summary

Modifier and TypeField and Description
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv final Runnable
pack-priv static final int
private static final long
pack-priv final DisposableContainer
pack-priv volatile Thread

Constructor Summary

AccessConstructor and Description
pack-priv

Field Detail

FINISHEDback to summary
pack-priv static final int FINISHED
INTERRUPTEDback to summary
pack-priv static final int INTERRUPTED
INTERRUPTINGback to summary
pack-priv static final int INTERRUPTING
READYback to summary
pack-priv static final int READY
runback to summary
pack-priv final Runnable run
RUNNINGback to summary
pack-priv static final int RUNNING
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicInteger.serialVersionUID.

tasksback to summary
pack-priv final DisposableContainer tasks
threadback to summary
pack-priv volatile Thread thread

Constructor Detail

InterruptibleRunnableback to summary
pack-priv InterruptibleRunnable(Runnable run, DisposableContainer tasks)

Method Detail

cleanupback to summary
pack-priv void cleanup()
disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Doc from io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override
runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.ExecutorWorker.SequentialDispose

extends Object
implements Runnable
Class Inheritance
  • java.lang.Object
  • io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.ExecutorWorker.SequentialDispose
All Implemented Interfaces
java.lang.Runnable

Field Summary

Modifier and TypeField and Description
private final Runnable
private final SequentialDisposable

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
run()

Implements java.lang.Runnable.run.

Runs this operation.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

decoratedRunback to summary
private final Runnable decoratedRun
marback to summary
private final SequentialDisposable mar

Constructor Detail

SequentialDisposeback to summary
pack-priv SequentialDispose(SequentialDisposable mar, Runnable decoratedRun)

Method Detail

runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
io.reactivex.rxjava3.internal.schedulers back to summary

pack-priv final Class ExecutorScheduler.SingleHolder

extends Object
Class Inheritance
  • java.lang.Object
  • io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.SingleHolder

Field Summary

Modifier and TypeField and Description
pack-priv static final Scheduler

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

HELPERback to summary
pack-priv static final Scheduler HELPER

Constructor Detail

SingleHolderback to summary
pack-priv SingleHolder()