Concurrency Başlangıç

ExecutorService otomatik kapanma

Otomatik executor kapatma için try-with-resources kullanın.

✕ 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
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🧹

Otomatik temizleme

Blok çıkışında kapatma otomatik gerçekleşir.

🛡️

Sızıntı yok

İstisnalar oluşsa bile executor her zaman kapanır.

📖

Tanıdık kalıp

Dosyalar ve bağlantılar için kullanılan aynı try-with-resources.

Eski Yaklaşım
Elle Kapatma
Modern Yaklaşım
try-with-resources
JDK'dan itibaren
19
Zorluk
Başlangıç
ExecutorService otomatik kapanma
Mevcut

JDK 19'dan itibaren geniş çapta kullanılabilir (Eylül 2022)

Java 19'dan itibaren ExecutorService, AutoCloseable arayüzünü uygular. close() metodu shutdown() çağırır ve görevlerin tamamlanmasını bekler. Artık elle try/finally kapatma kalıplarına gerek yok.

Paylaş 𝕏 🦋 in