newfixedthreadpool使用
时间: 2023-04-21 15:00:41 浏览: 149
`newFixedThreadPool` 是 Java 中的一个线程池创建方法,用于创建一个固定大小的线程池。以下是使用该方法的示例代码:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Example {
public static void main(String[] args) {
// 创建一个固定大小为5的线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务给线程池
for (int i = 0; i < 10; i++) {
executor.submit(new Task(i));
}
// 关闭线程池
executor.shutdown();
}
}
class Task implements Runnable {
private int taskId;
public Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task #" + this.taskId + " is running.");
// 执行任务代码
}
}
```
在这个示例中,我们首先使用 `newFixedThreadPool` 方法创建了一个大小为5的线程池。然后我们通过循环提交10个任务给线程池进行处理,每个任务是一个 `Task` 类的实例。`Task` 类实现了 `Runnable` 接口,重写了 `run` 方法,用于执行具体的任务逻辑。最后,我们调用了线程池的 `shutdown` 方法关闭线程池。
这样,我们就使用 `newFixedThreadPool` 方法创建并使用了一个固定大小的线程池。注意,在实际的应用中,我们需要根据具体的需求来选择线程池的大小。如果线程池的大小设置过小,可能会导致任务堆积;如果线程池的大小设置过大,可能会浪费系统资源。
阅读全文