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。

相关推荐
zfoo-framework16 分钟前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java
逍遥德36 分钟前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
云烟成雨TD40 分钟前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
weixin_5231853243 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
点燃大海44 分钟前
SpringAI构建智能体
java·spring boot·spring·springai智能体
xier_ran1 小时前
【infra之路】02_RadixAttention与KV_Cache管理
java·spring boot·spring
黑马师兄1 小时前
RAG混合检索深度解析:让AI真正找到你要的内容
java·人工智能·ai·agent·rag·ai-native
码客日记1 小时前
Spring Boot 配置文件敏感信息加密(Jasypt 企业级完整方案)
java·spring boot·git
凡人叶枫2 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
极客先躯2 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷