Java5 에서 쓰레드풀 사용하기

Java 2008. 6. 11. 11:36
jdk1.5.x 버전부터
java.util.concurrent 패키지를 제공하고 있다.
패키지 하위에 유용한 클래스들이 많이 존재하므로
계속해서 살펴보고 익혀야 겠다.

Java5에서  Thread pool을 사용하는 방법이다.
이전 jdk버전에서는 Thread pool을 직접구현해야 했고,
구현을 한다해도, 검증되지 않은 성능 Issue는 항상 개발자를 머리아프게 했었는데...

정말 Good이군~~
    private int threadCount=5;
    private ExecutorService executorService;


    /** thread 숫자를 설정한다. 초기치는 5개 */
    public void setThreadCount(int threadCount) {
        this.threadCount = threadCount;
    }

         - Thread Pool생성

        if (executorService==null) {
            logger.debug("Creating new thread pool for message delivery");
            executorService = Executors.newFixedThreadPool(threadCount);
        }

        - Thread 실행

        /* Spawn a task into the thread pool. */
        executorService.execute(new Runnable(){
            public void run() {
                   //some code that takes some time to run.
            }
        });

       정말 간단하다.
       물론 실제 로직에 적용하기 위해선 부가적으로 추가해야 할것들이 있지만
       우선 jdk기본 패키지에 포함되었다는것은 성능검증은 완료된것이라 봐야 하므로
       의심없이 사용할 수 있을듯 하다.(물론 테스트는 해봐야 한다.)

      만든이가 너무 고맙다!
    

설정

트랙백

댓글