Это создаст пул потоков для вас с размером, который вы передаете.
ExecutorService service = Executors.newFixedThreadPool(THREAD_SIZE);
Это внутренне создает экземпляр ThreadPoolExecutor, который реализует ExecutorService.
public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
}
Чтобы создать собственный пул thead, вы можете просто сделать.
ExecutorService service = new ThreadPoolExecutor(5, 5,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(10));
Здесь мы можем указать размер очереди, используя перегруженный конструктор LinkedBlockingQueue.
public LinkedBlockingQueue(int capacity) {
if (capacity <= 0) throw new IllegalArgumentException();
this.capacity = capacity;
last = head = new Node<E>(null);
}
Надеюсь, это поможет.Ура !!!