Sızdırılan eşzamanlılık tanıtıcısı (ARCH4085)
Anahtar java.performance.leaked-concurrency-handle · Önem warning · Kategori performance
Executors.newFixedThreadPool ile oluşturulup hiç shutdown() edilmeyen bir havuz, daemon olmayan iş parçacıklarını canlı tutar ve JVM’in kapanmasını engeller.
Hatalı
Bölüm başlığı “Hatalı”public void run(List<Task> tasks) { ExecutorService pool = Executors.newFixedThreadPool(4); tasks.forEach(pool::submit);}public void run(List<Task> tasks) { ExecutorService pool = Executors.newFixedThreadPool(4); try { tasks.forEach(pool::submit); } finally { pool.shutdown(); }}Düzeltme
Bölüm başlığı “Düzeltme”Oluşturulan executor havuzlarını bir finally veya try-with-resources içinde shutdown() ile kapatın.