** * @function 自定义基础线程池 * @author guo * @date 2022/6/27 */public enum BasicExecuteThreadPool { /** * 22 */ INSTANCE; /**基础线程数量=cpu核数+1 */ static int corePoolSize = Runtime.getRuntime().availableProcessors() + 1; /** 最大线程数量 = cpu 核树 * 4 */ static int maxPoolSize = Runtime.getRuntime().availableProcessors() * 4; /** 超出核心线程的数量的线程!空闲存活时间 */ static Long keepAliveTime = 0L; /** 默认队列大小 根据服务器性能而定 */ private static final int DEFAULT_SIZE = 500; private static final BlockingQueue<Runnable> EXECUTE_QUEUE = new ArrayBlockingQueue<>(DEFAULT_SIZE); private static final ThreadPoolExecutor EXECUTOR = new ThreadPoolExecutor( corePoolSize, maxPoolSize, keepAliveTime, TimeUnit.MILLISECONDS, EXECUTE_QUEUE, new NameThreadFactory("Exchange_Conn")); BasicExecuteThreadPool() {} public void submitTask(Runnable runnable) { EXECUTOR.execute(runnable); }}