Class SchedulingStrategies
- java.lang.Object
-
- org.apache.maven.surefire.junitcore.pc.SchedulingStrategies
-
public class SchedulingStrategies extends java.lang.Object
The factory ofSchedulingStrategy
.- Since:
- 2.16
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ThreadFactory
DAEMON_THREAD_FACTORY
-
Constructor Summary
Constructors Constructor Description SchedulingStrategies()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SchedulingStrategy
createInvokerStrategy(ConsoleStream logger)
static SchedulingStrategy
createParallelSharedStrategy(ConsoleStream logger, java.util.concurrent.ExecutorService threadPool)
The threadPool passed to this strategy can be shared in other strategies.static SchedulingStrategy
createParallelStrategy(ConsoleStream logger, int nThreads)
static SchedulingStrategy
createParallelStrategyUnbounded(ConsoleStream logger)
-
-
-
Method Detail
-
createInvokerStrategy
public static SchedulingStrategy createInvokerStrategy(ConsoleStream logger)
- Parameters:
logger
- current error logger- Returns:
- sequentially executing strategy
-
createParallelStrategy
public static SchedulingStrategy createParallelStrategy(ConsoleStream logger, int nThreads)
- Parameters:
logger
- current error loggernThreads
- fixed pool capacity- Returns:
- parallel scheduling strategy
-
createParallelStrategyUnbounded
public static SchedulingStrategy createParallelStrategyUnbounded(ConsoleStream logger)
- Parameters:
logger
- current error logger- Returns:
- parallel scheduling strategy with unbounded capacity
-
createParallelSharedStrategy
public static SchedulingStrategy createParallelSharedStrategy(ConsoleStream logger, java.util.concurrent.ExecutorService threadPool)
The threadPool passed to this strategy can be shared in other strategies.
The callSchedulingStrategy.finished()
is waiting until own tasks have finished. New tasks will not be scheduled by this call in this strategy. This strategy is not waiting for other strategies to finish. TheRunnerScheduler.finished()
may freely useSchedulingStrategy.finished()
.- Parameters:
logger
- current error loggerthreadPool
- thread pool possibly shared with other strategies- Returns:
- parallel strategy with shared thread pool
- Throws:
java.lang.NullPointerException
- if threadPool is null
-
-