线程池工具
线程池工具为了方便在系统中创建线程池。
默认线程池说明
- 默认线程数量:
当前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();
}