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 CompositeSubscriptionallWorkersprivate java.util.concurrent.ScheduledExecutorServiceevictorServiceprivate java.util.concurrent.Future<?>evictorTaskprivate java.util.concurrent.ConcurrentLinkedQueue<CachedThreadScheduler.ThreadWorker>expiringWorkerQueueprivate longkeepAliveTimeprivate java.util.concurrent.ThreadFactorythreadFactory
-
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) voidevictExpiredWorkers()(package private) CachedThreadScheduler.ThreadWorkerget()(package private) longnow()(package private) voidrelease(CachedThreadScheduler.ThreadWorker threadWorker)(package private) voidshutdown()
-
-
-
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()
-
-