Class ConcurrencyTools

    • Method Detail

      • getThreadPool

        public static ThreadPoolExecutor getThreadPool()
        Returns current shared thread pool. Starts up a new pool, if necessary.
        Returns:
        shared thread pool
      • setThreadPoolCPUsAvailable

        public static void setThreadPoolCPUsAvailable​(int cpus)
        Sets thread pool to reserve a given number of processor cores for foreground or other use.
        Parameters:
        cpus - number of processor cores to reserve
      • setThreadPoolCPUsFraction

        public static void setThreadPoolCPUsFraction​(float fraction)
        Sets thread pool to a given fraction of the available processors.
        Parameters:
        fraction - portion of available processors to use in thread pool
      • setThreadPoolDefault

        public static void setThreadPoolDefault()
        Sets thread pool to default of 1 background thread for each processor core.
      • setThreadPoolSingle

        public static void setThreadPoolSingle()
        Sets thread pool to a single background thread.
      • setThreadPoolSize

        public static void setThreadPoolSize​(int threads)
        Sets thread pool to given size.
        Parameters:
        threads - number of threads in pool
      • shutdown

        public static void shutdown()
        Disables new tasks from being submitted and closes the thread pool cleanly.
      • shutdownAndAwaitTermination

        public static void shutdownAndAwaitTermination()
        Closes the thread pool. Waits 1 minute for a clean exit; if necessary, waits another minute for cancellation.
      • submit

        public static <T> Future<T> submit​(Callable<T> task,
                                           String message)
        Queues up a task and adds a log entry.
        Type Parameters:
        T - type returned from the submitted task
        Parameters:
        task - submitted task
        message - logged message
        Returns:
        future on which the desired value is retrieved by calling get()
      • submit

        public static <T> Future<T> submit​(Callable<T> task)
        Queues up a task and adds a default log entry.
        Type Parameters:
        T - type returned from the submitted task
        Parameters:
        task - submitted task
        Returns:
        future on which the desired value is retrieved by calling get()