public abstract class SchedulingStrategy extends Object implements Destroyable
Scheduler.
The strategy is scheduling tasks in schedule(Runnable) and awaiting them
completed in finished(). Both methods should be used in one thread.| Modifier | Constructor and Description |
|---|---|
protected |
SchedulingStrategy(ConsoleLogger logger) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
canSchedule() |
protected boolean |
disable()
Persistently disables this strategy.
|
protected abstract boolean |
finished()
Waiting for scheduled tasks to finish.
|
protected abstract boolean |
hasSharedThreadPool() |
protected void |
logQuietly(Throwable t) |
protected abstract void |
schedule(Runnable task)
Schedules tasks if
canSchedule(). |
protected void |
setDefaultShutdownHandler(Scheduler.ShutdownHandler handler) |
protected abstract boolean |
stop()
Stops scheduling new tasks (e.g.
|
protected boolean |
stopNow()
Stops scheduling new tasks and interrupts running tasks
(e.g.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdestroyprotected SchedulingStrategy(ConsoleLogger logger)
protected abstract void schedule(Runnable task)
canSchedule().task - runnable to schedule in a thread pool or invokeRejectedExecutionException - if task
cannot be scheduled for executionNullPointerException - if task is nullRunnerScheduler.schedule(Runnable),
Executor.execute(Runnable)protected abstract boolean finished()
throws InterruptedException
InterruptedException - if interrupted while waiting
for scheduled tasks to finishRunnerScheduler.finished()protected abstract boolean stop()
ExecutorService.shutdown()
on a private thread pool which cannot be shared with other strategy).ExecutorService.shutdown()protected boolean stopNow()
ExecutorService.shutdownNow() on a private thread pool
which cannot be shared with other strategy).
This method calls stop() by default.ExecutorService.shutdownNow()protected boolean disable()
Balancer to acquire a new permit.
The method canSchedule() atomically returns false.true if canSchedule() has return true on the beginning of this method call.protected void setDefaultShutdownHandler(Scheduler.ShutdownHandler handler)
protected abstract boolean hasSharedThreadPool()
protected boolean canSchedule()
protected void logQuietly(Throwable t)
Copyright © 2004–2015 The Apache Software Foundation. All rights reserved.