Class ThreadPoolProviderImpl

    • Constructor Detail

    • Method Detail

      • close

        public void close()
      • newFixedThreadPool

        public ThreadPoolExecutor newFixedThreadPool​(int threads,
                                                     String threadNamePrefix)
        Description copied from interface: ThreadPoolProvider
        Creates a new fixed size ThreadPoolExecutor.

        It's using a blocking queue of maximum 1000 elements and the rejection policy is set to block until the queue can accept the task. These settings are required to cap the queue, to make sure the timeouts are reasonable for most jobs.

        Specified by:
        newFixedThreadPool in interface ThreadPoolProvider
        Parameters:
        threads - the number of threads
        threadNamePrefix - a label to identify the threads; useful for profiling.
        Returns:
        the new ExecutorService
      • newFixedThreadPool

        public ThreadPoolExecutor newFixedThreadPool​(int threads,
                                                     String threadNamePrefix,
                                                     int queueSize)
        Description copied from interface: ThreadPoolProvider
        Creates a new fixed size ThreadPoolExecutor.

        It's using a blocking queue of maximum queueSize elements and the rejection policy is set to block until the queue can accept the task. These settings are required to cap the queue, to make sure the timeouts are reasonable for most jobs.

        Specified by:
        newFixedThreadPool in interface ThreadPoolProvider
        Parameters:
        threads - the number of threads
        threadNamePrefix - a label to identify the threads; useful for profiling.
        queueSize - the size of the queue to store Runnables when all threads are busy
        Returns:
        the new ExecutorService
      • newScheduledExecutor

        public ScheduledExecutorService newScheduledExecutor​(int threads,
                                                             String threadNamePrefix)
        Description copied from interface: ThreadPoolProvider
        Creates a new fixed size ScheduledExecutorService.

        The queue size is not capped, so users should take care of checking they submit a reasonable amount of tasks.

        Specified by:
        newScheduledExecutor in interface ThreadPoolProvider
        Parameters:
        threads - the number of threads
        threadNamePrefix - a label to identify the threads; useful for profiling.
        Returns:
        the new ExecutorService