原创

Spring-scheduled-定时任务-单线程-多个定时任务也是同步执行

@scheduled 默认单线程

https://www.cnblogs.com/kelelipeng/p/11849516.html
SpringBoot使用@scheduled定时执行任务的时候是在一个单线程中,如果有多个任务,其中一个任务执行时间过长,
则有可能会导致其他后续任务被阻塞直到该任务执行完成。也就是会造成一些任务无法定时执行的错觉


不过这个因为多个@scheduled 还是 一个@scheduled时间间隔过短导致的?
特别注意文中的“这里设置的线程池是corePoolSize也是很关键了”

实测如果任务耗时超过了scheduled的执行时间间隔,确实是不执行下一次任务,必须等到任务执行完成,证明了单进程
正文到此结束
本文目录