在Java中,newFixedThreadPool是java.util.concurrent.Executors类中的一个方法,用于创建一个固定大小的线程池。要释放固定线程池资源,请遵循以下步骤:
shutdown()或shutdownNow()方法关闭线程池。这两个方法的主要区别在于,shutdown()方法不会立即终止正在执行的任务,而是等待它们完成;而shutdownNow()方法会尝试立即终止所有正在执行的任务。ExecutorService executorService = Executors.newFixedThreadPool(5); // 提交任务到线程池 executorService.submit(() -> { // 你的任务代码 }); // 关闭线程池 executorService.shutdown(); // 或者使用 executorService.shutdownNow(); awaitTermination()方法等待所有任务完成。这个方法会阻塞当前线程,直到所有任务完成或者超时(可选)。executorService.shutdown(); try { // 等待所有任务完成,最多等待1小时 if (executorService.awaitTermination(1, TimeUnit.HOURS)) { System.out.println("所有任务已完成"); } else { System.out.println("未完成的任务超时"); } } catch (InterruptedException e) { System.out.println("等待任务完成时发生异常"); } 注意:在使用固定线程池时,请确保在不再需要时关闭它,以避免资源泄漏。