Executor 동작주기 관련 메서드
shutdown:
안전한 종료 절차를 진행하여 종료 중 상태로 들어감. 더이상의 새로운 작업 등록을 받지 않음
이전에 등록된 작업까지는 모두 끝마침
shutdownNow
작업 강제 종료 절차를 진행. 현재 진행중인 작업도 가능한 취소
지연작업 / 주기적 작업
Timer 클래스의 단점
- TimerTask가 동작하던 도중에 예상치 못한 Exception 을 던져버리게 되면 예상치 못한 상태로 넘어갈 수 있다.
- Timer 스레드 자체가 멈춰버릴 수 있고 자동으로 복구되지 않아 등록된 작업이 실행되지 않는 문제가 있다
ScheduledThreadPoolExecutor
- 지연작업과 주기적 작업마다 스레드를 할당하여 실행 예정 시각을 벗어나는 일이 없도록 해줌
- Exception에 의해 스레드가 종료되어도 해당 스레드만 종료되고 다른 작업들은 정상 실행