ScheduledExecutorService类作用

ScheduledExecutorService 是 Java 线程池调度工具类 ,核心作用:执行延迟任务 / 周期性定时任务 ,比 Timer 更强大、更安全。

1. 核心作用

  1. 延迟执行任务(多久后执行一次)
  2. 周期性执行任务(每隔多久执行一次)
  3. 线程池管理:复用线程、控制并发数、避免频繁创建销毁线程
  4. 比 java.util.Timer 更稳定:
    • Timer 单线程,一个任务异常全部挂掉
    • ScheduledExecutorService 多线程,任务隔离,不会相互影响

2. 常用 4 个方法

  • schedule(Runnable, delay, unit)

    延迟 delay 后执行一次。

  • scheduleAtFixedRate(command, initialDelay, period, unit)

    固定频率执行:以上一次开始时间计算周期。

  • scheduleWithFixedDelay(command, initialDelay, delay, unit)

    固定间隔执行:以上一次结束时间计算下一次开始。

  • shutdown() / shutdownNow()

    关闭调度线程池。

3. 典型使用场景

  • 延时任务:订单超时未支付自动取消
  • 周期性任务:定时同步数据、清理过期缓存
  • 异步重试:接口调用失败延迟重试

4. 一句话面试回答

ScheduledExecutorService 是 Java 提供的定时调度线程池,用于执行延迟任务和周期性任务,具备线程复用、多线程隔离、高可靠性,替代传统 Timer。

相关推荐
SamDeepThinking6 分钟前
配货单发货数为空告警误报治理:写表延迟复核方案
java·后端·架构
\光辉岁月/14 分钟前
16.JavaSE-反射
java·反射
范什么特西18 分钟前
加深动态代理的理解
java
天天被压力25 分钟前
【Python量化实战宝典 #03】指数与板块行情接口全拆解:大盘·行业·概念一键取(Python 可跑)
java·人工智能·python
\光辉岁月/26 分钟前
14.JavaSE-IOStream
java·io·stream
云和数据.ChenGuang26 分钟前
Spring AI 对接 LangGraph:构建企业级智能体工作流实战
java·人工智能·spring boot·后端·spring
云和数据.ChenGuang31 分钟前
Spring AI 入门实战:构建你的第一个 AI 应用
java·人工智能·深度学习·spring·机器学习·语言模型
下雨天没带伞31 分钟前
Java Stream API实战,告别for循环
java
用户37215742613538 分钟前
Java 高效管理 Excel 批注:添加、读取、修改和删除
java
C语言小火车42 分钟前
C++ 为什么越来越依赖标准库?
java·开发语言·c++