线程池工具

线程池工具为了方便在系统中创建线程池。

默认线程池说明

  • 默认线程数量:当前cpu*2
  • 默认线程队列数量:线程数量*10
  • 默认线程策略:new ThreadPoolExecutor.CallerRunsPolicy()

接口

com.wueasy.base.util.ThreadHelper


/**
* 创建固定大小线程池
* @author: fallsea
* @param threads 线程数
* @param queueSize 线程队列数量
* @return
*/
public static ListeningExecutorService newExecutorService(int threads, int queueSize);


/**
* 创建固定大小线程池
* @author: fallsea
* @param threads 线程数
* @param queueSize 线程队列数量
* handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(int threads, int queueSize,RejectedExecutionHandler handler);


/**
* 创建固定大小线程池
* @author: fallsea
* @param threads 线程数
* @param queueSize 线程队列数量
* @param name 线程名称
* @return
*/
public static ListeningExecutorService newExecutorService(int threads, int queueSize,String name);

/**
* 创建固定大小线程池
* @author: fallsea
* @param threads 线程数
* @param queueSize 线程队列数量
* @param name 线程名称
* @param handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(int threads, int queueSize,String name,RejectedExecutionHandler handler);


/**
* 创建线程池
* @author: fallsea
* @param corePoolSize 核心线程数大小
* @param maximumPoolSize 允许的最大线程数
* @param queueSize 线程队列数量
* @return
*/
public static ListeningExecutorService newExecutorService(int corePoolSize,int maximumPoolSize,int queueSize);

/**
* 创建线程池
* @author: fallsea
* @param corePoolSize 核心线程数大小
* @param maximumPoolSize 允许的最大线程数
* @param queueSize 线程队列数量
* @param handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(int corePoolSize,int maximumPoolSize,int queueSize,RejectedExecutionHandler handler);

/**
* 创建线程池
* @author: fallsea
* @param corePoolSize 核心线程数大小
* @param maximumPoolSize 允许的最大线程数
* @param queueSize 线程队列数量
* @param name 线程名称
* @return
*/
public static ListeningExecutorService newExecutorService(int corePoolSize,int maximumPoolSize,int queueSize,String name);

/**
* 创建线程池
* @author: fallsea
* @param corePoolSize 核心线程数大小
* @param maximumPoolSize 允许的最大线程数
* @param queueSize 线程队列数量
* @param name 线程名称
* @param handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(int corePoolSize,int maximumPoolSize,int queueSize,String name,RejectedExecutionHandler handler);


/**
* 创建默认线程池
* @author: fallsea
* @return
*/
public static ListeningExecutorService newExecutorService();

/**
* 创建默认线程池
* @author: fallsea
* @param handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(RejectedExecutionHandler handler);

/**
* 创建默认线程池
* @author: fallsea
* @param name 线程名称
* @return
*/
public static ListeningExecutorService newExecutorService(String name);

/**
* 创建默认线程池
* @author: fallsea
* @param name 线程名称
* @param handler 线程策略
* @return
*/
public static ListeningExecutorService newExecutorService(String name,RejectedExecutionHandler handler);

/**
* 创建单一线程
* @author: fallsea
* @return
*/
public static ListeningExecutorService newSingleExecutorService();

/**
* 创建单一线程
* @author: fallsea
* @param name 线程名称
* @return
*/
public static ListeningExecutorService newSingleExecutorService(String name);

使用示例

//创建线程池
ListeningExecutorService listeningExecutorService = ThreadHelper.newExecutorService();

try {
    //调用
    listeningExecutorService.submit(new Runnable() {

        @Override
        public void run() {

            log.info("ddddddddd");

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    });
    Thread.sleep(1000000);
} catch (Exception e) {
    e.printStackTrace();
}
Copyright © wueasy.com 2017-2022 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2021-12-01

results matching ""

    No results matching ""