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);
// }
}