package com.engine.salary.util; import org.apache.commons.lang3.StringUtils; /** * @description: 此线程池类只适用于Runnalbe接口,不适用与Callable接口 * 如有callable业务需要,请自行使用线程池创建,并确定要关闭 * @author: xiajun * @modified By: xiajun * @date: Created in 1/25/22 4:23 PM * @version:v1.0 */ public class SalaryThreadPoolUtil { // /** // * 使用指定名称的线程池执行异步任务(线程池名称为module+function拼接生成)
// * 线程池最大并发线程数默认为10,核心线程数为0
// * 并发量、延时要求较低的功能,建议优先选用此方法,避免线程资源浪费
// * // * @param LocalRunnable 异步任务
// */ // public static void execute(LocalRunnable LocalRunnable) { // execute(ModulePoolEnum.OTHER, "default", ModulePoolEnum.OTHER.getMaxThread(), LocalRunnable); // } // // /** // * 使用指定名称的线程池执行异步任务(线程池名称为module+function拼接生成)
// * FixedThreadPool 线程池最大并发线程数为maximunPoolSize,核心线程数与maximunPoolSize相同
// * 并发量、延时要求高的功能,选用此方法,会保持一定的线程资源占用
// * 也可以使用重载方法,指定corePoolSize // * // * @param module 模块名称
// * @param function 功能描述
// * @param LocalRunnable 异步任务
// */ // public static void fixedPoolExecute(ModulePoolEnum module, String function, LocalRunnable LocalRunnable) { // execute(module, function, module.getMaxThread(), LocalRunnable); // } // // /** // * 使用指定名称的线程池执行异步任务(线程池名称为module+function拼接生成)
// * 线程池最大并发线程数为maximunPoolSize
// * // * @param module 模块名称
// * @param function 功能描述
// * @param maximunPoolSize 最大线程数
// * @param LocalRunnable 异步任务
// */ // private static void execute(ModulePoolEnum module, String function, int maximunPoolSize, LocalRunnable LocalRunnable) { // execute(module, function, maximunPoolSize, maximunPoolSize, LocalRunnable); // } // // /** // * 使用指定名称的线程池执行异步任务(线程池名称为module+function拼接生成)
// * 线程池最大并发线程数为maximunPoolSize
// * // * @param module 模块名称
// * @param function 功能描述
// * @param corePoolSize 核心线程数(即线程池空闲时,仍保留的线程数)
// * @param maximunPoolSize 最大线程数
// * @param LocalRunnable 异步任务
// */ // private static void execute(ModulePoolEnum module, String function, int corePoolSize, int maximunPoolSize, LocalRunnable LocalRunnable) { // if (StringUtils.isEmpty(function)) { // function = "default"; // } // LocalRunnable.setFunctiondesc(function); // LocalRunnable.setModule(module.name()); // ThreadPoolFactory.getExecutor(module, corePoolSize, maximunPoolSize).execute(LocalRunnable); // } // // /** // * 关闭指定的连接池,一般情况下不会使用,请勿随意调用
// * // * @param module 模块名称
// */ // private void shutdown(ModulePoolEnum module) { // ThreadPoolFactory.shutdownExecutor(module); // } }