Interface ExecutorFactory

  • All Known Implementing Classes:
    ExecutorFactoryCassandraSEPImpl, ExecutorFactoryJavaImpl

    public interface ExecutorFactory
    This factory is used to create ExecutorService thread pools for use by daemon processes. This is provided as a service so that thread pools throughout the system are constructed in the same manner and have consistent thread names, logging, and queue implementations.
    Author:
    Seth
    • Method Detail

      • newExecutor

        ExecutorService newExecutor​(int threads,
                                    String daemonName,
                                    String executorName)
        Construct a new ExecutorService with an unbounded queue size ({@link Integer#MAX_VALUE). For CPU-intensive tasks, it is a good idea to use the value of {@link Runtime#availableProcessors()} (or a reasonable multiple of it based on the tasks) for the threads parameter to ensure that the CPU is fully utilized.
        Parameters:
        threads -
        daemonName -
        executorName -
        Returns:
        An ExecutorService pool
      • newExecutor

        ExecutorService newExecutor​(int threads,
                                    int queueSize,
                                    String daemonName,
                                    String executorName)
        Construct a new ExecutorService with a specified queue size for the backlog of tasks. When the queue is full, the pool may block, discard the incoming task, or throw an exception. This behavior is dependent on the implementation of the ExecutorService. For CPU-intensive tasks, it is a good idea to use the value of Runtime.availableProcessors() (or a reasonable multiple of it based on the tasks) for the threads parameter to ensure that the CPU is fully utilized.
        Parameters:
        threads -
        daemonName -
        executorName -
        Returns:
        An ExecutorService pool