前言
提示:提供一个供参考的线程池配置.
一、自定义拒绝策略
package com.github.config;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.atomic.LongAdder;
/**
* 自定义线程池拒绝策略
* <pre>
* 创建新线程去执行任务
* </pre>
*
* @author utrix
*/
@Slf4j
public class MyRejectedExecutionHandler implements RejectedExecutionHandler {
/**
* 记录新增线程数量
*/
private static final LongAdder NUMBER = new LongAdder();
/**
* 记录新增线程数量
*/
private static final LongAdder RESET_NUMBER = new LongAdder();
/**
* 拒绝策略新增线程数量记录单位20, 每新增20重新记录
* <pre>
* 总新增线程数计算公式: RESET_NUMBER * 20 + (NUMBER+1)
* </pre>
*/
private static final int MAX_LIMIT =

本文介绍了如何配置自定义线程池拒绝策略,当任务达到阈值时,创建新线程执行,同时展示了线程池配置,包括核心线程数、最大线程数、存活时间等,并强调了根据业务场景选择合适线程池参数的重要性。
最低0.47元/天 解锁文章
170万+

被折叠的 条评论
为什么被折叠?



