Class SharedThreadPoolStrategy

    • Constructor Detail

      • SharedThreadPoolStrategy

        SharedThreadPoolStrategy​(ConsoleStream logger,
                                 java.util.concurrent.ExecutorService threadPool)
    • Method Detail

      • hasSharedThreadPool

        public boolean hasSharedThreadPool()
        Specified by:
        hasSharedThreadPool in class SchedulingStrategy
        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 class SchedulingStrategy
        Returns:
        true if successfully stopped the scheduler, else false 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. by ExecutorService.shutdown() on a private thread pool which cannot be shared with other strategy).
        Overrides:
        stop in class AbstractThreadPoolStrategy
        Returns:
        true if successfully stopped the scheduler, else false 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 and interrupts running tasks (e.g. by ExecutorService.shutdownNow() on a private thread pool which cannot be shared with other strategy).
        This method calls SchedulingStrategy.stop() by default.
        Overrides:
        stopNow in class AbstractThreadPoolStrategy
        Returns:
        true if successfully stopped the scheduler, else false if already stopped (a shared thread pool was shutdown externally).
        See Also:
        ExecutorService.shutdownNow()
      • stop

        private boolean stop​(boolean interrupt)