Class ThreadPool

  • All Implemented Interfaces:
    Lifecycle

    public class ThreadPool
    extends java.lang.Object
    implements Lifecycle
    Thread pool based on ThreadPoolExecutor
    Since:
    5.2
    • Field Detail

      • thread_pool

        protected java.util.concurrent.Executor thread_pool
      • tp

        protected final TP tp
      • thread_dumps

        protected final java.util.concurrent.atomic.AtomicInteger thread_dumps
      • enabled

        protected boolean enabled
      • min_threads

        protected int min_threads
      • max_threads

        protected int max_threads
      • keep_alive_time

        protected long keep_alive_time
      • thread_dumps_threshold

        protected int thread_dumps_threshold
      • thread_dump_path

        protected java.lang.String thread_dump_path
    • Constructor Detail

      • ThreadPool

        public ThreadPool​(TP tp)
    • Method Detail

      • getThreadPool

        public java.util.concurrent.Executor getThreadPool()
      • setThreadPool

        public ThreadPool setThreadPool​(java.util.concurrent.Executor thread_pool)
      • isShutdown

        public boolean isShutdown()
      • getMinThreads

        public int getMinThreads()
      • setMinThreads

        public ThreadPool setMinThreads​(int size)
      • getMaxThreads

        public int getMaxThreads()
      • setMaxThreads

        public ThreadPool setMaxThreads​(int size)
      • getKeepAliveTime

        public long getKeepAliveTime()
      • setKeepAliveTime

        public ThreadPool setKeepAliveTime​(long time)
      • getThreadDumpsThreshold

        public int getThreadDumpsThreshold()
      • setThreadDumpsThreshold

        public ThreadPool setThreadDumpsThreshold​(int t)
      • getNumberOfThreadDumps

        public int getNumberOfThreadDumps()
      • resetThreadDumps

        public void resetThreadDumps()
      • getThreadPoolSize

        public int getThreadPoolSize()
      • getThreadPoolSizeActive

        public int getThreadPoolSizeActive()
      • getLargestSize

        public int getLargestSize()
      • init

        public void init()
                  throws java.lang.Exception
        Description copied from interface: Lifecycle
        Called after an instance has been created and before it is started.
        Specified by:
        init in interface Lifecycle
        Throws:
        java.lang.Exception - Thrown if the instance cannot be initialized successfully.
      • destroy

        public void destroy()
        Description copied from interface: Lifecycle
        Called after an instance has been stopped. Cleans up resources
        Specified by:
        destroy in interface Lifecycle
      • execute

        public boolean execute​(java.lang.Runnable task)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • createThreadPool

        protected static java.util.concurrent.ExecutorService createThreadPool​(int min_threads,
                                                                               int max_threads,
                                                                               long keep_alive_time,
                                                                               java.lang.String rejection_policy,
                                                                               java.util.concurrent.BlockingQueue<java.lang.Runnable> queue,
                                                                               ThreadFactory factory)