Class IoScheduler.CachedWorkerPool
java.lang.Object
io.reactivex.rxjava3.internal.schedulers.IoScheduler.CachedWorkerPool
- All Implemented Interfaces:
Runnable
- Enclosing class:
IoScheduler
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final CompositeDisposable
private final ScheduledExecutorService
private final Future
<?> private final ConcurrentLinkedQueue
<IoScheduler.ThreadWorker> private final long
private final ThreadFactory
-
Constructor Summary
ConstructorsConstructorDescriptionCachedWorkerPool
(long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory) -
Method Summary
Modifier and TypeMethodDescription(package private) static void
evictExpiredWorkers
(ConcurrentLinkedQueue<IoScheduler.ThreadWorker> expiringWorkerQueue, CompositeDisposable allWorkers) (package private) IoScheduler.ThreadWorker
get()
(package private) static long
now()
(package private) void
release
(IoScheduler.ThreadWorker threadWorker) void
run()
(package private) void
shutdown()
-
Field Details
-
keepAliveTime
private final long keepAliveTime -
expiringWorkerQueue
-
allWorkers
-
evictorService
-
evictorTask
-
threadFactory
-
-
Constructor Details
-
CachedWorkerPool
CachedWorkerPool(long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory)
-
-
Method Details
-
run
public void run() -
get
IoScheduler.ThreadWorker get() -
release
-
evictExpiredWorkers
static void evictExpiredWorkers(ConcurrentLinkedQueue<IoScheduler.ThreadWorker> expiringWorkerQueue, CompositeDisposable allWorkers) -
now
static long now() -
shutdown
void shutdown()
-