Class ErlContextParallel
java.lang.Object
org.eclipse.epsilon.eol.execute.context.EolContext
org.eclipse.epsilon.eol.execute.context.concurrent.EolContextParallel
org.eclipse.epsilon.erl.execute.context.concurrent.ErlContextParallel
- All Implemented Interfaces:
IEolContextParallel,IEolContext,IErlContextParallel,IErlContext
- Direct Known Subclasses:
EclContextParallel,EgxContextParallel,EplContextParallel,EtlContextParallel,EvlContextParallel
- Since:
- 1.6
- Author:
- Sina Madani
-
Field Summary
Fields inherited from class org.eclipse.epsilon.eol.execute.context.concurrent.EolContextParallel
executorServiceFields inherited from class org.eclipse.epsilon.eol.execute.context.EolContext
assertionsEnabled, asyncStatementsQueue, classpathNativeTypeDelegate, errorStream, executorFactory, extendedProperties, frameStack, introspectionManager, methodContributorRegistry, modelRepository, module, nativeTypeDelegates, operationFactory, outputStream, prettyPrinterManager, profilingEnabled, userInput, warningStreamFields inherited from interface org.eclipse.epsilon.eol.execute.context.concurrent.IEolContextParallel
NUM_THREADS_CONFIG -
Constructor Summary
ConstructorsModifierConstructorDescriptionErlContextParallel(int parallelism) protectedErlContextParallel(IEolContext other) -
Method Summary
Modifier and TypeMethodDescriptionprotected IErlContextprotected ExecutorFactoryexecuteJob(Object job) Evaluates the job using this context's parallel execution facilities.Casts the IModule to IErlModuleCan be used to obtain an optimal execution context while executing in parallel.voidsetExecutorFactory(ExecutorFactory executorFactory) voidsetProfilingEnabled(boolean profilingEnabled) Methods inherited from class org.eclipse.epsilon.eol.execute.context.concurrent.EolContextParallel
beginParallelTask, clearExecutor, clearThreadLocals, convertToParallel, createThreadLocalFrameStack, createThreadLocalOperationContributorRegistry, dispose, endParallelTask, getExecutorService, getFrameStack, getParallelism, initDelegateThreadLocal, initThreadLocals, isParallel, newExecutorService, nullifyThreadLocals, parallelGet, parallelGet, parallelSet, removeAll, setFrameStack, setParallelism, toString, useThreadLocalValueMethods inherited from class org.eclipse.epsilon.eol.execute.context.EolContext
getAsyncStatementsQueue, getErrorStream, getExtendedProperties, getIntrospectionManager, getModelRepository, getNativeTypeDelegates, getOperationContributorRegistry, getOperationFactory, getOutputStream, getPrettyPrinterManager, getUserInput, getWarningStream, isAssertionsEnabled, isProfilingEnabled, setAssertionsEnabled, setErrorStream, setExtendedProperties, setIntrospectionManager, setModelRepository, setModule, setNativeTypeDelegates, setOperationFactory, setOutputStream, setPrettyPrinterManager, setUserInput, setWarningStreamMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.epsilon.eol.execute.context.IEolContext
dispose, getAsyncStatementsQueue, getErrorStream, getExtendedProperties, getFrameStack, getIntrospectionManager, getModelRepository, getNativeTypeDelegates, getOperationContributorRegistry, getOperationFactory, getOutputStream, getPrettyPrinterManager, getUserInput, getWarningStream, isAssertionsEnabled, isProfilingEnabled, setAssertionsEnabled, setErrorStream, setExtendedProperties, setFrameStack, setIntrospectionManager, setModelRepository, setModule, setNativeTypeDelegates, setOperationFactory, setOutputStream, setPrettyPrinterManager, setUserInput, setWarningStreamMethods inherited from interface org.eclipse.epsilon.eol.execute.context.concurrent.IEolContextParallel
beginParallelTask, beginParallelTask, endParallelTask, ensureNotNested, executeAll, executeAny, getExecutorService, getParallelism, isParallel, isParallelisationLegal, setParallelism
-
Constructor Details
-
ErlContextParallel
public ErlContextParallel() -
ErlContextParallel
public ErlContextParallel(int parallelism) -
ErlContextParallel
-
-
Method Details
-
createThreadLocalExecutorFactory
- Overrides:
createThreadLocalExecutorFactoryin classEolContextParallel
-
setProfilingEnabled
public void setProfilingEnabled(boolean profilingEnabled) - Specified by:
setProfilingEnabledin interfaceIEolContext- Overrides:
setProfilingEnabledin classEolContext
-
setExecutorFactory
- Specified by:
setExecutorFactoryin interfaceIEolContext- Overrides:
setExecutorFactoryin classEolContextParallel
-
getExecutorFactory
- Specified by:
getExecutorFactoryin interfaceIEolContext- Specified by:
getExecutorFactoryin interfaceIErlContext- Overrides:
getExecutorFactoryin classEolContextParallel
-
createShadowThreadLocalContext
- Overrides:
createShadowThreadLocalContextin classEolContextParallel
-
getShadow
Description copied from class:EolContextParallelCan be used to obtain an optimal execution context while executing in parallel. If execution is currently not parallel, then this context itself is returned.- Overrides:
getShadowin classEolContextParallel- Returns:
- A ThreadLocal copy of this context if in parallel, or this context otherwise.
-
getModule
Description copied from interface:IErlContextCasts the IModule to IErlModule- Specified by:
getModulein interfaceIEolContext- Specified by:
getModulein interfaceIErlContext- Overrides:
getModulein classEolContext- See Also:
-
executeJob
Description copied from class:EolContextParallelEvaluates the job using this context's parallel execution facilities. Subclasses may override this to support additional job types, calling the super method as the last resort for unknown cases. Supported types include multi-valued types (e.g. arrays, Iterable / Iterator, Stream etc.) as well as common concurrency units such as Runnable, Callable and Future.- Overrides:
executeJobin classEolContextParallel- Parameters:
job- The job (or jobs) to evaluate.- Returns:
- The result of evaluating the job, if any.
- Throws:
EolRuntimeException- If an exception is thrown whilst evaluating the job(s).
-