【问题标题】:how to create multiple threads pools for one method in spring boot using @Async如何使用@Async在spring boot中为一种方法创建多个线程池
【发布时间】:2021-08-01 09:25:24
【问题描述】:

我有一个方法,但想创建多个线程池。目前我正在写作中

@Async ("poolProcessor1")
method A1 () {
// Handle similar logic A2
}


@Async ("poolProcessor2")
method A2 () {
// Handle similar logic A1

}

有没有一种方法可以在同一方法上创建多个线程池?你能帮我提出建议或关键字吗? 我使用 Java 春季启动

【问题讨论】:

  • 您希望通过二合一方法获得什么好处?
  • 因为修改的时候,我只需要在同一个地方编辑,这2个方法是一样的,导致代码重复。

标签: java spring-boot threadpool


【解决方案1】:

您可以使用没有方法级异步注释的线程池(如下图所示)。您可以通过编程方式决定将哪个线程池用于不同的逻辑。

@Autowired
private Executor poolProcessor1;

@Autowired
private Executor poolProcessor2;

method A1 () {
  poolProcessor1.execute(()->...execute come logic or method)
  poolProcessor2.execute(()->...execute come logic or method)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2018-04-08
    • 2017-07-22
    • 2018-03-17
    • 2023-04-04
    相关资源
    最近更新 更多