Java 스레드 풀
- 스레드 풀 모델
- 단일 스레드 : static ExecutorService newSingleThreadExecutor() → 하나의 스레드
- 고정 스레드 : static ExecutorService newFixedThreadPool(int size) → 고정된 개수의 스레드
- 캐시 스레드 : static ExecutorService newCachedThreadPool() → 무제한 스레드 풀
- execute() : 스레드 풀에 테스크 제출
- shutdown() : 스레드 풀은 추가 작업을 거부하고 기존의 모든 작업의 실행이 완료되면 종료
→이제 그만 받아요~
- 자바 스레드 풀 예시
import java.util.concurrent.*;
public class ThreadPoolExample{
public static void main(String[] args){
int numTasks Integer.parseInt(args[0].trim());
ExecutorService pool = Executors.newCachedThreadPool();
for(int i = 0; i < numTasks; i++){
pool.execute(new Task());
pool.shutdown();
}
}
}