Concurrency Principiante

Usa try-with-resources para el cierre automático del executor.

✕ Java 8
ExecutorService exec =
    Executors.newCachedThreadPool();
try {
    exec.submit(task);
} finally {
    exec.shutdown();
    exec.awaitTermination(
        1, TimeUnit.MINUTES);
}
✓ Java 19+
try (var exec =
        Executors.newCachedThreadPool()) {
    exec.submit(task);
}
// auto shutdown + await on close
¿Ves un problema con este código? Cuéntanos.
🧹

Limpieza automática

El cierre ocurre automáticamente al salir del bloque.

🛡️

Sin fugas

El executor siempre se cierra, incluso si ocurren excepciones.

📖

Patrón familiar

El mismo try-with-resources usado para archivos, conexiones, etc.

Enfoque Antiguo
Cierre manual
Enfoque Moderno
try-with-resources
Desde JDK
19
Dificultad
Principiante
Cierre automático de ExecutorService
Disponible

Ampliamente disponible desde JDK 19 (sept. 2022)

Desde Java 19, ExecutorService implementa AutoCloseable. El método close() llama a shutdown() y espera a que las tareas terminen. Se acabaron los patrones manuales de try/finally para el cierre.

Compartir 𝕏 🦋 in