Java如何创建高效率的线程池
时间: 2023-02-12 21:39:40 浏览: 108
在 Java 中,可以使用 Executor 框架来创建高效率的线程池。Executor 框架提供了一种将任务提交与每个任务的实际运行分离开的方法,使得程序员可以在不明确管理线程的情况下使用多线程。
具体来说,可以使用 Executors 类的静态工厂方法来创建不同类型的 Executor,其中包括如下几种:
- newFixedThreadPool(int nThreads):创建固定大小的线程池。
- newCachedThreadPool():创建一个可缓存的线程池,如果线程池的大小超过了处理任务所需的线程,那么就会回收部分空闲(60 秒不执行任务)的线程,当任务数增加时,此线程池又可以智能的添加新线程来处理任务。
- newSingleThreadExecutor():创建单个线程的线程池。
示例代码如下:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建固定大小的线程池
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(4);
for (int i = 0; i < 10; i++) {
final int index = i;
fixedThreadPool.execute(new Runnable() {
@Override
public void run() {
System.out.println(index);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
}
```
在上面的代码中