Item 68. 스레드보다는 실행자와 태스크를 이용하라

자바 1.5부터 자바 플랫폼에는 java.util.concurrent가 추가되었다. 이 패키지에는 실행자 프레임워크(Executor Framework)라는 것이 들어 있는데, 유연성이 높은 인터페이스 기반 태스크(task) 실행 프레임워크다.

// 실행자 생성
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(runnable); // 실행
executor.shutdown();    // 셧다운

ExecutorService 추가 기능

java.util.Timer 대신 ScheduleThreadPoolExecutor을 추천

Thread pool

큐의 작업을 처리하는 스레드를 여러개 만들고 싶을 때는 스레드 풀 사용

작업 단위(task)

결론

중요한 것은 Thread가 아니라, __작업와 실행 메커니즘이 분리된 것__이다.