Concurrency 초급

try-with-resources로 실행기를 자동으로 종료합니다.

✕ 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
이 코드에 문제가 있나요? 알려주세요.
🧹

자동 정리

블록이 종료될 때 자동으로 종료됩니다.

🛡️

누수 없음

예외가 발생해도 실행기가 항상 종료됩니다.

📖

익숙한 패턴

파일, 연결 등에 사용하는 동일한 try-with-resources 패턴입니다.

이전 방식
수동 종료
모던 방식
try-with-resources
JDK 버전
19
난이도
초급
ExecutorService 자동 닫기
사용 가능

JDK 19 (2022년 9월) 이후 널리 사용 가능

Java 19부터 ExecutorService가 AutoCloseable을 구현합니다. close() 메서드가 shutdown()을 호출하고 작업 완료를 기다립니다. 더 이상 수동 try/finally 종료 패턴이 필요 없습니다.

공유 𝕏 🦋 in