|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovyx.gpars.scheduler.Scheduler
public final class Scheduler
Prototype of self-regulated thread pooled scheduler
Self regulation happened according to following rules - worker thread, which had nothing to do 10 seconds dies - if no tasks were taken for processing during last 0.5sec new worker starts
Nested Class Summary | |
---|---|
private class |
Scheduler.WatchdogThread
|
private class |
Scheduler.WorkerThread
|
Field Summary | |
---|---|
private long |
lastTaskPoke
|
private static long |
POKE_INTERVAL
|
private java.util.concurrent.BlockingQueue<java.lang.Runnable> |
queue
|
private long |
schedulerTime
|
(package private) static java.lang.RuntimeException |
TERMINATE
|
private boolean |
terminating
|
private java.util.concurrent.atomic.AtomicInteger |
threadCount
|
Fields inherited from interface groovyx.gpars.scheduler.Pool |
---|
POOL_SIZE_MUST_BE_A_POSITIVE_NUMBER, UNCAUGHT_EXCEPTION_OCCURRED_IN_ACTOR_POOL |
Constructor Summary | |
---|---|
Scheduler()
|
|
Scheduler(int coreSize)
|
Method Summary | |
---|---|
void |
execute(java.lang.Runnable task)
schedules a new task for processing with the pool |
int |
getPoolSize()
Retrieves the current thread pool size |
java.lang.Runnable |
loop(java.lang.Runnable operation)
|
void |
resetDefaultSize()
Sets the pool size to the default |
void |
resize(int poolSize)
Resizes the thread pool to the specified value |
void |
shutdown()
Gently stops the pool |
private void |
startNewThread()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.concurrent.BlockingQueue<java.lang.Runnable> queue
private final java.util.concurrent.atomic.AtomicInteger threadCount
private volatile long lastTaskPoke
private volatile long schedulerTime
private volatile boolean terminating
static final java.lang.RuntimeException TERMINATE
private static final long POKE_INTERVAL
Constructor Detail |
---|
public Scheduler()
public Scheduler(int coreSize)
Method Detail |
---|
public void execute(java.lang.Runnable task)
Pool
execute
in interface Pool
task
- The task to schedulepublic java.lang.Runnable loop(java.lang.Runnable operation)
private void startNewThread()
public void resize(int poolSize)
Pool
resize
in interface Pool
poolSize
- The new pool sizepublic void resetDefaultSize()
Pool
resetDefaultSize
in interface Pool
public int getPoolSize()
getPoolSize
in interface Pool
public void shutdown()
Pool
shutdown
in interface Pool
|
Copyright © 2008–2010 Václav Pech. All Rights Reserved. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |