java多线程newFixedThreadPool使用例子
时间: 2023-07-26 18:36:13 浏览: 98
java 多线程例子
以下是使用 `newFixedThreadPool` 创建线程池并执行任务的例子:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Example {
public static void main(String[] args) {
// 创建固定大小为 5 的线程池
ExecutorService executorService = Executors.newFixedThreadPool(5);
// 提交 10 个任务到线程池中
for (int i = 0; i < 10; i++) {
executorService.execute(new Task(i));
}
// 关闭线程池,等待所有任务执行完毕
executorService.shutdown();
}
static class Task implements Runnable {
private int taskId;
public Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running.");
}
}
}
```
在上述例子中,我们创建了一个固定大小为 5 的线程池,并且提交了 10 个任务到线程池中。由于线程池中只有 5 个线程,因此在执行任务时,只有 5 个任务会同时执行,而其他的任务则会等待空闲线程的出现。最后,我们调用 `shutdown` 方法关闭线程池,等待所有任务执行完毕。
阅读全文