Why ThreadPoolExecutor Won’t Expand When the Queue Isn’t Full
The article explains that ThreadPoolExecutor’s execution flow first fills core threads, then enqueues tasks, and only creates non‑core threads after the work queue is full, so a high maximumPoolSize (e.g., 100) does not guarantee rapid thread growth, and queue choice and rejection policies critically shape scaling behavior.
