Java如何创建线程池?
时间: 2023-07-05 19:33:04 浏览: 122
Java提供了一个内置的线程池框架——ThreadPoolExecutor,可以用来创建和管理线程池。使用ThreadPoolExecutor创建线程池的一般步骤如下:
1. 创建ThreadPoolExecutor对象,指定核心线程池大小、最大线程池大小、空闲线程存活时间、任务队列等参数。
```
ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize,
maximumPoolSize,
keepAliveTime,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>());
```
2. 提交任务给线程池,使用execute()方法提交Runnable任务。任务将被加入线程池的任务队列中等待执行。
```
executor.execute(new Runnable() {
public void run() {
// 任务执行代码
}
});
```
3. 关闭线程池,调用shutdown()方法关闭线程池。该方法会等待所有任务执行完成后再关闭线程池。
```
executor.shutdown();
```
ThreadPoolExecutor提供了很多参数和方法,可以根据具体需求进行配置和使用。同时,Java还提供了Executors类,可以用来快速创建不同类型的线程池,如FixedThreadPool、CachedThreadPool等。使用Executors创建线程池时,可以省略一些繁琐的参数配置,但是对于一些特殊需求可能不够灵活。
阅读全文