Package rx.internal.schedulers
Class CachedThreadScheduler.CachedWorkerPool
- java.lang.Object
-
- rx.internal.schedulers.CachedThreadScheduler.CachedWorkerPool
-
- Enclosing class:
- CachedThreadScheduler
static final class CachedThreadScheduler.CachedWorkerPool extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private CompositeSubscription
allWorkers
private java.util.concurrent.ScheduledExecutorService
evictorService
private java.util.concurrent.Future<?>
evictorTask
private java.util.concurrent.ConcurrentLinkedQueue<CachedThreadScheduler.ThreadWorker>
expiringWorkerQueue
private long
keepAliveTime
private java.util.concurrent.ThreadFactory
threadFactory
-
Constructor Summary
Constructors Constructor Description CachedWorkerPool(java.util.concurrent.ThreadFactory threadFactory, long keepAliveTime, java.util.concurrent.TimeUnit unit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
evictExpiredWorkers()
(package private) CachedThreadScheduler.ThreadWorker
get()
(package private) long
now()
(package private) void
release(CachedThreadScheduler.ThreadWorker threadWorker)
(package private) void
shutdown()
-
-
-
Field Detail
-
threadFactory
private final java.util.concurrent.ThreadFactory threadFactory
-
keepAliveTime
private final long keepAliveTime
-
expiringWorkerQueue
private final java.util.concurrent.ConcurrentLinkedQueue<CachedThreadScheduler.ThreadWorker> expiringWorkerQueue
-
allWorkers
private final CompositeSubscription allWorkers
-
evictorService
private final java.util.concurrent.ScheduledExecutorService evictorService
-
evictorTask
private final java.util.concurrent.Future<?> evictorTask
-
-
Method Detail
-
get
CachedThreadScheduler.ThreadWorker get()
-
release
void release(CachedThreadScheduler.ThreadWorker threadWorker)
-
evictExpiredWorkers
void evictExpiredWorkers()
-
now
long now()
-
shutdown
void shutdown()
-
-