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