Class ExecutorScheduler.ExecutorWorker.InterruptibleRunnable
java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler.ExecutorWorker.InterruptibleRunnable
- All Implemented Interfaces:
Disposable
,Serializable
,Runnable
- Enclosing class:
ExecutorScheduler.ExecutorWorker
static final class ExecutorScheduler.ExecutorWorker.InterruptibleRunnable
extends AtomicInteger
implements Runnable, Disposable
Wrapper for a
Runnable
with additional logic for handling interruption on
a shared thread, similar to how Java Executors do it.-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int
(package private) static final int
(package private) static final int
(package private) static final int
(package private) final Runnable
(package private) static final int
private static final long
(package private) final DisposableContainer
(package private) Thread
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.util.concurrent.atomic.AtomicInteger
accumulateAndGet, addAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAcquire, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, getOpaque, getPlain, incrementAndGet, intValue, lazySet, longValue, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
Methods inherited from class java.lang.Number
byteValue, shortValue
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
run
-
tasks
-
thread
-
READY
static final int READY- See Also:
-
RUNNING
static final int RUNNING- See Also:
-
FINISHED
static final int FINISHED- See Also:
-
INTERRUPTING
static final int INTERRUPTING- See Also:
-
INTERRUPTED
static final int INTERRUPTED- See Also:
-
-
Constructor Details
-
InterruptibleRunnable
InterruptibleRunnable(Runnable run, DisposableContainer tasks)
-
-
Method Details
-
run
public void run() -
dispose
public void dispose()Description copied from interface:Disposable
Dispose the resource, the operation should be idempotent.- Specified by:
dispose
in interfaceDisposable
-
cleanup
void cleanup() -
isDisposed
public boolean isDisposed()Description copied from interface:Disposable
Returns true if this resource has been disposed.- Specified by:
isDisposed
in interfaceDisposable
- Returns:
- true if this resource has been disposed
-