@Scheduled & scheduler: Что именно делает размер пула? - PullRequest
5 голосов
/ 30 ноября 2010

Я хочу запустить несколько запланированных задач одновременно.

При настройке Spring для этого я могу предоставить планировщику размер пула:

<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<task:executor id="myExecutor" pool-size="32"/>
<task:scheduler id="myScheduler" pool-size="1000"/>

Но что именно здесь означает размер пула?

Означает ли это, что он может хранить только 1000 запланированных методов или же одновременно обрабатывается только 1000 методов?

tldr; Если аннотированный метод @Scheduled (fixedDelay = 60) имеет значение NOT , выполняемый в данный момент (то есть он находится между задержками), заполняет ли он пул нет?

1 Ответ

4 голосов
/ 30 ноября 2010

Это относится к числу потоков, которые могут быть объединены в один поток базовым ThreadPoolExecutor, то есть условному количеству методов, которые могут быть запущены одновременно.

Документация по пространству имен содержит множество необходимых деталей.

Я ожидаю, что 1000 потоков, вероятно, будет слишком много в большинстве сред.

...