@Configuration
public class CouponTaskThreadPoolConfig {
@Bean("couponTaskExecutor")
public ExecutorService couponTaskExecutor() {
ThreadFactory threadFactory = new ThreadFactory() {
private final AtomicInteger threadNumber = new AtomicInteger(1);
@Override
public Thread newThread(Runnable r) {
Thread thread = new Thread(r, "coupon-task-pool-" + threadNumber.getAndIncrement());
thread.setDaemon(false);
return thread;
}
};
return new ThreadPoolExecutor(
5,
20,
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(100),
threadFactory,
new ThreadPoolExecutor.CallerRunsPolicy()
);
}
}
线程池创建模版
小小小米粒2026-05-08 9:18
相关推荐
老白干1 小时前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案圆山猫8 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径城管不管8 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别IT小白杨9 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解豆瓣鸡9 小时前
算法日记 - Day3萧瑟余晖9 小时前
Java深入解析篇九之NIO详解The Chosen One98510 小时前
高进度算法模板速记(待完善)极光代码工作室12 小时前
基于SpringBoot的课程预约系统Leighteen12 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常名字还没想好☜13 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势