Class ParallelExecutorImpl
- java.lang.Object
-
- org.apache.tapestry5.ioc.internal.services.ParallelExecutorImpl
-
- All Implemented Interfaces:
ParallelExecutor
public class ParallelExecutorImpl extends Object implements ParallelExecutor
-
-
Constructor Summary
Constructors Constructor Description ParallelExecutorImpl(ExecutorService executorService, ThunkCreator thunkCreator, PerthreadManager perthreadManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
invoke(Class<T> proxyType, Invokable<T> invocable)
As withParallelExecutor.invoke(org.apache.tapestry5.ioc.Invokable)
, but the result is wrapped inside a thunk.<T> Future<T>
invoke(Invokable<T> invocable)
Submits the invocable object to be executed in a pooled thread.
-
-
-
Constructor Detail
-
ParallelExecutorImpl
public ParallelExecutorImpl(ExecutorService executorService, ThunkCreator thunkCreator, PerthreadManager perthreadManager)
-
-
Method Detail
-
invoke
public <T> Future<T> invoke(Invokable<T> invocable)
Description copied from interface:ParallelExecutor
Submits the invocable object to be executed in a pooled thread. Returns a Future object representing the eventual result of the invocable's operation. The actual operation will be wrapped such thatPerthreadManager.cleanup()
is invoked after the operation completes.- Specified by:
invoke
in interfaceParallelExecutor
- Parameters:
invocable
- to execute in a thread- Returns:
- Future result of that invocation
-
invoke
public <T> T invoke(Class<T> proxyType, Invokable<T> invocable)
Description copied from interface:ParallelExecutor
As withParallelExecutor.invoke(org.apache.tapestry5.ioc.Invokable)
, but the result is wrapped inside a thunk. Invoking methods on the thunk will block until the value is available.- Specified by:
invoke
in interfaceParallelExecutor
- Parameters:
proxyType
- return type, used to create the thunkinvocable
- object that will eventually execute and return a value- Returns:
- the thunk
-
-