java ThreadPoolExecutor 使用
时间: 2024-03-30 10:32:49 浏览: 69
ThreadPoolExecutor是Java中用于管理线程池的类。它提供了一种方便的方式来执行多个任务,而无需手动创建和管理线程。下面是ThreadPoolExecutor的使用介绍:
1. 创建ThreadPoolExecutor对象:
```
ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue);
```
- corePoolSize:核心线程数,即线程池中保持活动状态的最小线程数。
- maximumPoolSize:最大线程数,即线程池中允许存在的最大线程数。
- keepAliveTime:非核心线程的空闲时间超过该值时,会被回收。
- unit:keepAliveTime的时间单位。
- workQueue:用于存放待执行任务的阻塞队列。
2. 提交任务给线程池:
```
executor.execute(task);
```
- task:要执行的任务,可以是实现了Runnable接口或Callable接口的对象。
3. 关闭线程池:
```
executor.shutdown();
```
调用shutdown()方法后,线程池将不再接受新的任务,但会等待已提交的任务执行完毕。
4. 相关问题:
1. 什么是线程池?
2. 如何创建ThreadPoolExecutor对象?
3. 如何提交任务给线程池?
4. 线程池的优势是什么?
5. 线程池的工作原理是什么?
阅读全文