final class InvokerStrategy extends SchedulingStrategy
SchedulingStrategy
Modifier and Type | Field and Description |
---|---|
private java.util.Queue<java.lang.Thread> |
activeThreads |
Modifier | Constructor and Description |
---|---|
protected |
InvokerStrategy(ConsoleLogger logger) |
Modifier and Type | Method and Description |
---|---|
boolean |
destroy()
Calling
ThreadPoolExecutor.shutdown()
and ThreadPoolExecutor.awaitTermination(long, java.util.concurrent.TimeUnit) . |
boolean |
finished()
Waiting for scheduled tasks to finish.
|
boolean |
hasSharedThreadPool() |
void |
schedule(java.lang.Runnable task)
Schedules tasks if
SchedulingStrategy.canSchedule() . |
protected boolean |
stop()
Stops scheduling new tasks (e.g.
|
protected boolean |
stopNow()
Stops scheduling new tasks and interrupts running tasks
(e.g.
|
canSchedule, disable, logQuietly, setDefaultShutdownHandler
protected InvokerStrategy(ConsoleLogger logger)
public void schedule(java.lang.Runnable task)
SchedulingStrategy
SchedulingStrategy.canSchedule()
.schedule
in class SchedulingStrategy
task
- runnable to schedule in a thread pool or invokeRunnerScheduler.schedule(Runnable)
,
Executor.execute(Runnable)
protected boolean stop()
SchedulingStrategy
ExecutorService.shutdown()
on a private thread pool which cannot be shared with other strategy).stop
in class SchedulingStrategy
ExecutorService.shutdown()
protected boolean stopNow()
SchedulingStrategy
ExecutorService.shutdownNow()
on a private thread pool
which cannot be shared with other strategy).
This method calls SchedulingStrategy.stop()
by default.stopNow
in class SchedulingStrategy
ExecutorService.shutdownNow()
public boolean hasSharedThreadPool()
hasSharedThreadPool
in class SchedulingStrategy
public boolean finished() throws java.lang.InterruptedException
SchedulingStrategy
finished
in class SchedulingStrategy
java.lang.InterruptedException
- if interrupted while waiting
for scheduled tasks to finishRunnerScheduler.finished()
public boolean destroy()
Destroyable
ThreadPoolExecutor.shutdown()
and ThreadPoolExecutor.awaitTermination(long, java.util.concurrent.TimeUnit)
.true
if not interrupted in current thread