- java.lang.Object
-
- org.ojalgo.concurrent.ExternalProcessExecutor.ProcessTask<T>
-
- All Implemented Interfaces:
java.lang.Runnable,java.util.concurrent.Future<T>
- Enclosing class:
- ExternalProcessExecutor
private static final class ExternalProcessExecutor.ProcessTask<T> extends java.lang.Object implements java.util.concurrent.Future<T>, java.lang.Runnable
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object[]myArgumentsprivate java.util.concurrent.atomic.AtomicBooleanmyCancelledprivate java.util.concurrent.atomic.AtomicBooleanmyDoneprivate java.lang.ThrowablemyErrorprivate java.lang.ObjectmyLockprivate MethodDescriptormyMethodprivate ProcessOptionsmyOptionsprivate TmyResultprivate ExternalProcessExecutor.WorkerChannelmyWorkerprivate static java.lang.ThreadLocal<ExternalProcessExecutor.WorkerChannel>WORKER
-
Constructor Summary
Constructors Constructor Description ProcessTask(MethodDescriptor spec, java.lang.Object[] args, ProcessOptions opts)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancancel(boolean mayInterruptIfRunning)private static ExternalProcessExecutor.WorkerChannelensureWorker(ProcessOptions opts)Tget()Tget(long timeout, java.util.concurrent.TimeUnit unit)booleanisCancelled()booleanisDone()voidrun()private static booleansameOptions(ProcessOptions opt1, ProcessOptions opt2)(package private) ExternalProcessExecutor.ProcessTask<T>start(java.util.concurrent.ExecutorService executor)
-
-
-
Field Detail
-
WORKER
private static final java.lang.ThreadLocal<ExternalProcessExecutor.WorkerChannel> WORKER
-
myArguments
private final java.lang.Object[] myArguments
-
myCancelled
private final java.util.concurrent.atomic.AtomicBoolean myCancelled
-
myDone
private final java.util.concurrent.atomic.AtomicBoolean myDone
-
myError
private volatile java.lang.Throwable myError
-
myLock
private final java.lang.Object myLock
-
myMethod
private final MethodDescriptor myMethod
-
myOptions
private final ProcessOptions myOptions
-
myResult
private volatile T myResult
-
myWorker
private volatile ExternalProcessExecutor.WorkerChannel myWorker
-
-
Constructor Detail
-
ProcessTask
ProcessTask(MethodDescriptor spec, java.lang.Object[] args, ProcessOptions opts)
-
-
Method Detail
-
ensureWorker
private static ExternalProcessExecutor.WorkerChannel ensureWorker(ProcessOptions opts) throws java.lang.Exception
- Throws:
java.lang.Exception
-
sameOptions
private static boolean sameOptions(ProcessOptions opt1, ProcessOptions opt2)
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
- Specified by:
cancelin interfacejava.util.concurrent.Future<T>
-
get
public T get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Specified by:
getin interfacejava.util.concurrent.Future<T>- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionException
-
get
public T get(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
- Specified by:
getin interfacejava.util.concurrent.Future<T>- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutException
-
isCancelled
public boolean isCancelled()
- Specified by:
isCancelledin interfacejava.util.concurrent.Future<T>
-
isDone
public boolean isDone()
- Specified by:
isDonein interfacejava.util.concurrent.Future<T>
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
start
ExternalProcessExecutor.ProcessTask<T> start(java.util.concurrent.ExecutorService executor)
-
-