compbio.engine.local
Class _TrackingExecutor
java.lang.Object
java.util.concurrent.AbstractExecutorService
compbio.engine.local._TrackingExecutor
- All Implemented Interfaces:
- java.util.concurrent.Executor, java.util.concurrent.ExecutorService
public class _TrackingExecutor
- extends java.util.concurrent.AbstractExecutorService
This executor extends standard Java ExecutorService by adding the method to
obtain all Runnables which were running and did not complete upon executor
termination. For this to work properly Runnables must propagate an
Interruption exceptions, not swallow them, which a good Runnable should do
anyway.
TODO it may be better to persists task from different place
- Author:
- pvtroshin
Methods inherited from class java.util.concurrent.AbstractExecutorService |
invokeAll, invokeAll, invokeAny, invokeAny, submit, submit |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_TrackingExecutor
public _TrackingExecutor(java.util.concurrent.ExecutorService executor)
getCancelledTasks
public java.util.List getCancelledTasks()
execute
public void execute(java.lang.Runnable runnable)
submit
public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
- Specified by:
submit
in interface java.util.concurrent.ExecutorService
- Overrides:
submit
in class java.util.concurrent.AbstractExecutorService
awaitTermination
public boolean awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
isShutdown
public boolean isShutdown()
isTerminated
public boolean isTerminated()
shutdown
public void shutdown()
shutdownNow
public java.util.List<java.lang.Runnable> shutdownNow()