gpt4 book ai didi

Spring @Scheduled - 并发运行

转载 作者:行者123 更新时间:2023-12-05 03:54:18 24 4
gpt4 key购买 nike

我有一个 Spring boot 2.1.6.RELEASE 应用程序,其中有一个用

注释的方法
@Scheduled(cron = "*/10 * * * * *}

我希望它与那个 cron 一起运行,即使另一个执行已经在进行中。

我尝试使用 application.properties 文件增加执行程序线程数:

spring.task.scheduling.pool.size=10

但它似乎没有用,因为它仍在等待执行完成后再开始下一个。

在 @Scheduled 注释中使用 cron 进行并行执行的正确方法是什么?

最佳答案

任务调度程序的默认池大小确实为 1,但增加此池大小只会使更多线程可用于其他 @Scheduled 方法。预期的行为不是让方法并行运行,否则线程可能会耗尽。

如果您希望更改此行为以允许相同的方法并行运行,您需要使用 @EnableAsync@Async 注释。您可能还想更改任务执行器的池大小。话虽这么说,但请记住,您可能仍会耗尽线程,因此在更改此预期行为时要非常小心。

关于Spring @Scheduled - 并发运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61128429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com