ThreadPoolTaskExecutor (ThreadPoolExecutor) の挙動をいつも忘れるのでメモ。
- corePoolSize までは、スレッドを作成してタスクを割り当てる。
- corePoolSize を超えると queueCapacity までキューに追加。
- queueCapacity を超えると maxPoolSize までスレッドを追加しタスクを割り当てる。
- queueCapacity + maxPoolSize を超えると TaskRejectedException。
- corePoolSize を超えたアイドルスレッドは keepAliveSeconds 後にシャットダウンされる。