Очередь ThreadPoolExecutor растёт, threads заняты, появляются rejections?
Очередь ThreadPoolExecutor растёт, threads заняты, появляются rejections? Не начинайте с увеличения maximumPoolSize. Для execute(): до corePoolSize → новые threads после core → сначала queue queue не принимает → threads до maximumPoolSize queue + pool saturated → RejectedExecutionHandler Поэтому тип queue критичен. С new LinkedBlockingQueue<>() pool обычно не растёт выше core: backlog накапливается в практически неограниченной queue. С bounded queue overload становится заметнее, но нужна осмысленная rejection/backpressure strategy. Соберите: core/max → poolSize → activeCount → queue size/capacity → incoming/completed rate → task latency → rejection handler → downstream latency И помните: getActiveCount() — приблизительная metric, а RejectedExecutionException зависит от выбранной policy. Только после этого меняйте pool. Сохраните параметры, которые нужно собрать до изменения размера thread pool. #УЦФОРС #Java #Backend #ThreadPoolExecutor #Производительность