今天讲解定时任务、延迟任务的线程池使用方式:
1、从 java 角度
2、从 Spring 框架角度
文章目录
Java提供:ScheduledExecutorService接口(创建延迟任务线程池)
这个接口继承 ExecutorService 接口。
① 用法1:
ScheduledThreadPoolExecutor 类 是 ScheduledExecutorService 接口的实现类,属于 java 并发包。它允许你设置一个固定数量的核心线程池,并调度任务在某个延迟时间后执行,或以固定的频率重复执行任务。
return new ScheduledThreadPoolExecutor(
5, // 核心线程池大小
new BasicThreadFactory.Builder() // 自定义线程工厂
.namingPattern("schedule-pool-%d") // 线程的命名模式
.daemon(true) // 线程设为守护线程
.build(),
new ThreadPoolExecutor.CallerRunsPolicy() // 任务拒绝策略
)
{
@Override
protected void afterExecute(Runnable r, Throwable t