在Java中,线程池可以使用以下两种方法来创建:
Executors
类中的静态方法来创建线程池:ExecutorService executor = Executors.newFixedThreadPool(10);
上面的代码将创建一个固定大小为10的线程池。
ThreadPoolExecutor
类来创建线程池:int corePoolSize = 5;
int maxPoolSize = 10;
long keepAliveTime = 5000; // 线程的最大空闲时间
TimeUnit unit = TimeUnit.MILLISECONDS; // 时间单位
BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(100); // 任务队列
ExecutorService executor = new ThreadPoolExecutor(corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue);
上面的代码将创建一个核心线程数为5,最大线程数为10,空闲时间为5000毫秒的线程池,并使用一个大小为100的数组阻塞队列作为任务队列。
无论使用哪种方法创建线程池,都需要使用ExecutorService
接口来操作线程池,如提交任务、关闭线程池等。