本文主要是介绍Spring任务调度@Scheduled的使用以及原理、源码分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请直接看原文:
【小家Spring】Spring任务调度@Scheduled的使用以及原理、源码分析(@EnableScheduling)-腾讯云开发者社区-腾讯云 (tencent.com)
---------------------------------------------------------------------------------------------------------------------------------
因为原文讲的非常详细,这里我只说总结的几点
1.定时任务底层用的是这个线程池Executors.newSingleThreadScheduledExecutor(),是单线程池,串行顺序执行任务. 在其中一个定时任务没有执行完之前,其他的定时任务即使是到了执行时间,也是不会执行的,它们会进行排队。
2.虽然是同一个线程顺序执行任务, 即使这个线程内部抛出了异常,线程也不会终止的,所以请放心。因为底层都已经try-catch好了
3.使用定时任务时最好用自己建的多线程池,或者用@Async异步注解. 怎么用自己建的多线程,请自行百度
这篇关于Spring任务调度@Scheduled的使用以及原理、源码分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!