#java #spring-boot #threadpool
Вопрос:
У меня есть метод, но я хочу создать несколько пулов потоков. в настоящее время я пишу в процессе
@Async ("poolProcessor1")
method A1 () {
// Handle similar logic A2
}
@Async ("poolProcessor2")
method A2 () {
// Handle similar logic A1
}
Есть ли способ создать несколько пулов потоков одним и тем же методом? Не могли бы вы, пожалуйста, помочь мне с предложениями или ключевыми словами.
Я использую Java spring boot
Комментарии:
1. Какую выгоду вы надеетесь получить, используя два метода на одном?
2. Поскольку при изменении мне просто нужно редактировать в одном и том же месте, эти 2 метода идентичны, что приводит к дублированию кода.
Ответ №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)
}