En la continuación de un question publicado por mí, estoy tratando de usar ThreadPoolExecutor en mi código base. Incluso después de repetidos intentos de comprensión del documento de la API de Java, no pude entender claramente la funcionalidad/propósito detrás del parámetro keepAliveTime
que se pasará en el constructor. Espero que alguien me explique con un buen ejemplo de trabajo.¿Cómo funciona Keep-alive con ThreadPoolExecutor?
Extractos de Java doc:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue)
keepAliveTime
- cuando el número de hilos es mayor que el núcleo, este es el tiempo máximo que el exceso de hebras en espera esperarán a nuevas tareas antes de terminar.
Del mismo modo que un punto de la terminología, que ha utilizado dos veces la palabra "aplicar" cuando pienso que acaba de decir "utilización". No estás tratando de * implementar * 'ThreadPoolExecutor' escribiendo tu propio código implementando esa API; solo estás creando un' ThreadPoolExecutor' y quieres saber cómo se comportará, ¿no? –
Sí, tienes razón. Solía decir que es un nuevo tipo de implementación en mi base de código. – Gnanam
Pero no es una implementación * de * 'ThreadPoolExecutor'. Es realmente útil si puede utilizar la terminología de manera apropiada, * particularmente * en Stack Overflow. –