ExecutorService
상태 : running, shutting down, terminated
> 쓰레드풀 생성
ExecutorService exe = Executors.newCachedThreadPool();
고정 크기의 쓰레드풀의 경우 Executors.newFixedThreadPool( int nThreads );
ThreadFactory 인터페이스를 사용해 특정 쓰레드를 풀 구성요소로 생성이 가능하다.
class MyThreadFactory implements ThreadFactory {
public Thread newThread( Runnable r ) {
return new MyThread(r);
}
};
> 작업 실행
exe.execute( Runnable );
해당 작업(Runnable)을 쓰레드풀의 큐에 넣고, 실행 시킨다.
Future<?> task = exe.submit( Runnalble );
해당 작업의 처리여부 확인을 위해서는 Future 객체를 사용하고,
submit 메쏘드로 작업을 큐에 넣는다.
> 종료
exe.shutdown();
쓰레드풀을 종료하지만 이미 존재하는 작업은 진행.
exe.shutdownNow();
모든 작업 중지
> 상태
shutdown() 이후 지정 시간동안 대기하며, 작업 종료시 true
awaitTermination( long, TimeUnit )
> Future<?>
Future<?> f = submit( Runnable ) 수행시 결과를 얻어온다.
f.isCancelled() : 작업의 취소여부
f.isDone() : 작업 성공 여부
f.cancel( boolean ) : 작업 취소
f.get() : 작업 결과 얻기 - 블럭킹
'프로그래밍 > JAVA' 카테고리의 다른 글
Apache HttpClient 관련 정리 (0) | 2014.03.11 |
---|---|
[JAVA TV] MHP 배경이미지 처리 (0) | 2013.12.27 |
[JAVA TV] 타이머 (0) | 2013.12.27 |
[awt] 이미지 읽기~ (0) | 2013.12.17 |
GSON 간단 사용 예 (0) | 2013.09.12 |
CRC16-CCITT crc생성함수 (0) | 2012.10.04 |
정규식 표현 (0) | 2012.04.05 |
클래스 동적 생성,호출 (리플렉션) (0) | 2010.09.04 |
이클립스(갈릴레오) SVN 설정 (0) | 2009.11.12 |
쓰레드 기본 (0) | 2009.11.10 |