Установка maxpoolsize в springboot asyn c сделает мой интерфейс доступным только для 5 пользователей? - PullRequest
0 голосов
/ 03 февраля 2020
executor.setCorePoolSize(5);
executor.setMaxPoolSize(5);

У меня есть приложение пользовательского интерфейса и бэкэнд в Spring. Один метод требует 15 se c для выполнения. Я пытаюсь справиться с этим с помощью Spring-Boot Asyn ... но установить это 5 ограничить пользователей пользовательского интерфейса для этой функции 5?

, когда мы установим это ... это для одного экземпляра? или для всего экземпляра ... скажем, например, этот код запускается, тогда будет только 5 потоков ... скажем, 10 пользователей войдут в это приложение ... потоки - 5.. ..

1 Ответ

2 голосов
/ 03 февраля 2020

размер основного пула - задает, сколько потоков может работать параллельно, что означает, что 5 пользователей могут иметь доступ одновременно. Если происходит больше обращений, он сохраняется в очереди, которая настраивается с помощью параметра максимальный размер пула

Итак, согласно вашей конфигурации после 5 пользователей следующие пять пользовательских запросов будут находиться в очереди. После того, как очередь заполнится, все запросы будут отклонены.

Скажем, если один запрос завершается из первых пяти, то запускается один запрос из пяти в очереди и т. Д.

См. Это для Чтение пула потоков относительно пружинной загрузки https://www.baeldung.com/thread-pool-java-and-guava

...