Class ThreadPoolExecutor


  • public class ThreadPoolExecutor
    extends ExperimentExecutor

    Default implementation of an ExecutorFactory returning an Executor that uses up to Runtime.getRuntime().availableProcessors() threads to execute tasks concurrently. This number of threads can be overridden by setting the system property "jasima.core.expExecution.ThreadPoolExecutor.numThreads".

    In order to prevent starvation of worker threads waiting for sub-experiments to complete, there is a thread pool for each nesting level of experiments.

    Author:
    Torsten Hildebrandt