Spring任务调度@Scheduled的使用以及原理、源码分析

请直接看原文:

【小家Spring】Spring任务调度@Scheduled的使用以及原理、源码分析(@EnableScheduling)-腾讯云开发者社区-腾讯云 (tencent.com)

---------------------------------------------------------------------------------------------------------------------------------

因为原文讲的非常详细,这里我只说总结的几点

1.定时任务底层用的是这个线程池Executors.newSingleThreadScheduledExecutor(),是单线程池,串行顺序执行任务. 在其中一个定时任务没有执行完之前,其他的定时任务即使是到了执行时间,也是不会执行的,它们会进行排队。

2.虽然是同一个线程顺序执行任务, 即使这个线程内部抛出了异常,线程也不会终止的,所以请放心。因为底层都已经try-catch好了

3.使用定时任务时最好用自己建的多线程池,或者用@Async异步注解.   怎么用自己建的多线程,请自行百度

你可能感兴趣的:(springboot,java)