Concurrency Principiante

Usa try-with-resources per lo shutdown automatico dell'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
Vedi un problema con questo codice? Faccelo sapere.
🧹

Pulizia automatica

Lo shutdown avviene automaticamente quando il blocco termina.

🛡️

Nessuna perdita

L'executor si spegne sempre, anche se si verificano eccezioni.

📖

Pattern familiare

Stesso try-with-resources usato per file, connessioni, ecc.

Approccio Vecchio
Shutdown manuale
Approccio Moderno
try-with-resources
Dal JDK
19
Difficoltà
Principiante
Chiusura automatica ExecutorService
Disponibile

Ampiamente disponibile dal JDK 19 (settembre 2022)

Da Java 19, ExecutorService implementa AutoCloseable. Il metodo close() chiama shutdown() e attende il completamento dei task. Niente più pattern try/finally per lo shutdown manuale.

Condividi 𝕏 🦋 in