[ Java.Thread-4. Thread Pool-2 (예제) ]


1. JDK안의 쓰레드 풀들

   - JDK 1.5버전 이전까지는 유저들이 직접 쓰레드 풀을 만들어 사용했다. 유저가 직접만드는 방식은 귀찮기도 했고, 쓰레드간의 Context Switching시에 성능문제도 발생했다.  JDK1.5에서는 java.util.concurrent패키지가 포함되었는데 여기에는 다양한 방식의 쓰레드 풀이 기본으로 포함되게 되었다.


2. Executors.newFixedThreadPool(10)

   - 정의 : 최대 쓰레드를 10개까지 만드는 풀.  

             동시에 일어나는 업무의 량이 비교적 일정할때 사용한다.

   - 소스 : newFixedThreadPool(2) 를 이용해서 2개의 Pool을 생성한 후 execute()를 사용해 

            연속적으로 5개의 ThreadTask Instance생성을 시도 한다. 

            각 ThreadTask는 1초씩(Thread.sleep(1000)) 수행시간이 걸린다.

            Pool이 2개 이므로 5개를 요청했지만 instance는 2개씩만 생성 된 후 instance가 종료되면

            다음 instance가 생성 된다.


   - NewFixedThreadPoolMain.java

      

   - ThreadTask.java
      

   - 수행결과
      




Posted by 농부지기
,