Class SharedThreadPoolStrategy
- java.lang.Object
-
- org.apache.maven.surefire.junitcore.pc.SchedulingStrategy
-
- org.apache.maven.surefire.junitcore.pc.AbstractThreadPoolStrategy
-
- org.apache.maven.surefire.junitcore.pc.SharedThreadPoolStrategy
-
- All Implemented Interfaces:
Destroyable
final class SharedThreadPoolStrategy extends AbstractThreadPoolStrategy
Parallel strategy for shared thread pool in private package.- Since:
- 2.16
- See Also:
AbstractThreadPoolStrategy
-
-
Constructor Summary
Constructors Constructor Description SharedThreadPoolStrategy(ConsoleStream logger, java.util.concurrent.ExecutorService threadPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
finished()
Waiting for scheduled tasks to finish.boolean
hasSharedThreadPool()
protected boolean
stop()
Stops scheduling new tasks (e.g.private boolean
stop(boolean interrupt)
protected boolean
stopNow()
Stops scheduling new tasks andinterrupts
running tasks (e.g.-
Methods inherited from class org.apache.maven.surefire.junitcore.pc.AbstractThreadPoolStrategy
destroy, getFutureResults, getThreadPool, schedule, setDefaultShutdownHandler
-
Methods inherited from class org.apache.maven.surefire.junitcore.pc.SchedulingStrategy
canSchedule, disable, logQuietly
-
-
-
-
Constructor Detail
-
SharedThreadPoolStrategy
SharedThreadPoolStrategy(ConsoleStream logger, java.util.concurrent.ExecutorService threadPool)
-
-
Method Detail
-
hasSharedThreadPool
public boolean hasSharedThreadPool()
- Specified by:
hasSharedThreadPool
in classSchedulingStrategy
- Returns:
true
if a thread pool associated with this strategy can be shared with other strategies.
-
finished
public boolean finished() throws java.lang.InterruptedException
Description copied from class:SchedulingStrategy
Waiting for scheduled tasks to finish. New tasks will not be scheduled by calling this method.- Specified by:
finished
in classSchedulingStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- Throws:
java.lang.InterruptedException
- if interrupted while waiting for scheduled tasks to finish- See Also:
RunnerScheduler.finished()
-
stop
protected boolean stop()
Description copied from class:SchedulingStrategy
Stops scheduling new tasks (e.g. byExecutorService.shutdown()
on a private thread pool which cannot be shared with other strategy).- Overrides:
stop
in classAbstractThreadPoolStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- See Also:
ExecutorService.shutdown()
-
stopNow
protected boolean stopNow()
Description copied from class:SchedulingStrategy
Stops scheduling new tasks andinterrupts
running tasks (e.g. byExecutorService.shutdownNow()
on a private thread pool which cannot be shared with other strategy).
This method callsSchedulingStrategy.stop()
by default.- Overrides:
stopNow
in classAbstractThreadPoolStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- See Also:
ExecutorService.shutdownNow()
-
stop
private boolean stop(boolean interrupt)
-
-