ThreadPoolExecutor - Tamaños principales y máximos de grupo [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la diferencia entre corePoolSize y maxPoolSize en Spring ThreadPoolTaskExecutor 4 respuestas

Cuando se envía una nueva tarea en el métodoexecute(java.lang.Runnable), y menos quecorePoolSize subprocesos se están ejecutando, se crea un nuevo subproceso para manejar la solicitud, incluso si otros subprocesos de trabajo están inactivos.

1) ¿Por qué es necesario crear un nuevo hilo para manejar la solicitud si hay hilos inactivos?

Si hay más decorePoolSize pero menos quemaximumPoolSize hilos en ejecución, se creará un nuevo hilo solo si la cola está llena.

2) No entiendo la diferencia entrecorePoolSize ymaximumPoolSize aquí. En segundo lugar, ¿cómo puede una cola estar llena cuando los hilos son inferiores amaximumPoolSize? La cola solo puede estar llena si los hilos son iguales o superiores amaximumPoolSize. ¿No es así?

Respuestas a la pregunta(3)

Su respuesta a la pregunta