springboot 的@Scheduled不同任务为啥默认没阻塞

提问 未结 2 108
blick
blick 2023-01-03
悬赏:20积分
版本:renren-security 5.0.0 开发环境:IEDA
springboot 的@Scheduled 不同任务默认是阻塞的,即一个线程执行完后,才会开始执行另外一个线程。线程池大小默认应该是1。 但实际情况,我用@Scheduled(fixedRate=5000) 定义了两个不同任务,发现他们是并行的,并没有发生阻塞的情况,一个任务的线程还没执行完,并没有影响另外一个任务线程的执行。 另外,我没自己定义线程池大小,用的springboot原始的@Scheduled 。也没有用人人的job模块,我移除了job模块。 然而我同样的Task @Scheduled 测试代码在最简单的springboot脚手架下跑阻塞情况是能达到预期的 face[晕]
回帖
  • 我们也没做其他配置 face[吃惊]
    0 回复
  • blick
    blick (楼主)
    2023-01-03
    @Mark 找到原因了,我用renren-security 引入了springboot-websocket,这东西会影响springboot原始的@Scheduled 。去掉websocket相关的配置就好了。感谢 img[//cdn.renren.io/f7eef202301031817466030.png]
    0 回复