Class CommonThreadPoolUtil

java.lang.Object
com.luna.common.thread.CommonThreadPoolUtil

public class CommonThreadPoolUtil extends Object
ClassName:CommenThreadPoolUtil
Function:线程池公共入口处理类.
  • Constructor Details

    • CommonThreadPoolUtil

      public CommonThreadPoolUtil(Integer cacheCorePoolSize)
  • Method Details

    • main

      public static void main(String[] args)
    • refresh

      public void refresh()
    • getThreadPool

      public ThreadPoolExecutor getThreadPool()
    • dealTask

      public ResultDTO<Void> dealTask(Callable<?> callable)
      dealTask:(线程池执行操作-包含每个进程返回结果).
      1、运用场景:例如,需要同时校验很多不同的逻辑,依赖于获取校验结果响应给用户; 2、具体实现java类:implements 的Callable接口,重写call方法即可,支持返回值
      Parameters:
      callable -
      Returns:
    • dealTask

      public ResultDTO<Void> dealTask(Runnable runnable)
      dealTask:(线程池执行操作-不包含每个进程返回结果).
      1、运用场景:例如,不依赖于响应给用户执行结果的业务逻辑 ; 2、具体实现java类:implements 的Runnable接口,重写run方法,没有返回值
      Parameters:
      runnable -
      Returns:
    • obtainTaskFuture

      public ResultDTO<Object> obtainTaskFuture()
      obtainTaskFuture:(获取线程池执行结果:此为阻塞线程,即所有线程都执行完成才能获取结果,故应将执行时间稍长的业务逻辑先执行, 减少等待时间).
      此方法只能调用一次,即调用之后清除ThreadLocal变量,以便于同一进程再次调用线程池获取最新的执行结果以及释放内存, 防止内存泄露
      Returns:
    • getCacheCorePoolSize

      public int getCacheCorePoolSize()
      获取核心线程数 getCacheCorePoolSize:().
      Returns:
    • setCacheCorePoolSize

      public void setCacheCorePoolSize(int cacheCorePoolSize)
      设置核心线程数 setCacheCorePoolSize:().
      Parameters:
      cacheCorePoolSize -