我们已经在Spring Boot应用程序中实现了计划任务,以便从MQ读取消息。 在IntelliJ中进行调试时,我看到任务的线程已启动,然后在任务完成后进入等待状态。
这是正常现象还是在任务完成后应该停止/销毁线程? 另外,我们必须手动执行此操作还是由Spring负责(并且任务代码中的某些内容阻止了此操作)
答案 0 :(得分:0)
Spring使用线程池来管理调度程序。来自Spring docs on Scheduling:
如果不提供pool-size属性,则默认线程池只有一个线程。调度程序没有其他配置选项。
线程正在“等待”,因为它们又回到了线程池中。因此,Spring为我们解决了这一问题。根据{{3}},只有在使用多个调度程序时,才需要配置线程池。