JUC线程池:ScheduledThreadPoolExecutor详解 本文是JUC第二十一讲,JUC线程池: ScheduledThreadPoolExecutor详解。在很多业务场景中,我们可能需要周期性的运行某项任务来获取结果,比如周期数据统计,定时发送数据等。在并发包出现之前,Java 早在1.3就提供了 Timer 类(只需要了解,目前已渐渐被 ScheduledThreadPoolExecutor 代替)来适应这些业务场景。随着业务量的不断增大,我们可能需要多个工作线程运行任务来尽可能的增加产品性能,或者是需要更高的灵活性来控制和监控这些周期业务。这些都是 ScheduledThreadPoolExecutor 诞生的必然性。 请带着这些问题继续后文,会很大程度上帮助你更好的理解ScheduledThreadPoolExecutor。 ScheduledThreadPoolExecutor要解决什么样的问题? 定时任务 ScheduledThreadPoolExecutor相比ThreadPoolExecutor有哪些特性?