SpringBoot第46讲:SpringBoot定时任务 - ScheduleExecutorService 实现方式
上文介绍的Timer在实际开发中很少被使用, 因为Timer底层是使用一个单线程来实现多个Timer任务处理的,所有任务都是由同一个线程来调度,所有任务都是串行执行。文本是SpringBoot第46讲,讲解 ScheduleExecutorService 实现定时任务方式,ScheduledExecutorService 是基于线程池的,可以开启多个线程进行执行多个任务,每个任务开启一个线程; 这样任务的延迟和未处理异常就不会影响其它任务的执行了。
1、知识准备
需要对 ScheduledExecutorService 代替 Timer的原因以及 ScheduledExecutorService 所在的知识体系有了解。
1.1、为什么用ScheduledExecutorService 代替 Timer?
上文我们说到Timer底层是使用一个单线程来实现多个Timer任务处理的,所有任务都是由同一个线程来调度,所有任务都是串行执行,意味着