반응형
안드로이드 에서는 java 1.5 이후 threadpool 관련하여
심플하게 사용할 수 있는 편리한 기능들이 제공되었다.
그것은 바로.
ExecutorService
ExcutorService 는 내부적으로는 ThreadPoolExcutor 를 생성하여 처리 하고 있다.
앞에서 말한 ThreadPoolExcutor 의 내용중.
- LikedBlockingQueue , SynchronousQueue , ArrayBlockingQueue 등의 특징이 있었다.
SychronousQueue, ArrayBlockingQueue 등은 별도의 예외처리 및 까다로운 처리를 해주어야 하는 단점이 있다.
그래서 일반적으로 (생각없이)편하게 쓰기에는 ( 편의성 차원 )
ExcutorService.newFixedThreadPool( 생성 쓰레드 개수 ); 를 권장한다.
public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
}
내부적으로 LinkedBlockingQueue 를 사용하므로 사용중인 쓰레드가 모자랄때는 대기 해준다.
반응형
'안드로이드 > Thread' 카테고리의 다른 글
ThreadPoolExecutor 사용하기. (0) | 2014.01.17 |
---|
댓글