用Executors.newFixedThreadPool写一段可执行的多线程程序
时间: 2023-10-25 10:21:42 浏览: 84
编写多线程程序
好的,以下是一个可执行的多线程程序,它使用`Executors.newFixedThreadPool()`方法创建一个固定大小的线程池:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MultiThreadProgram {
public static void main(String[] args) {
// 创建一个固定大小为4的线程池
ExecutorService executor = Executors.newFixedThreadPool(4);
// 创建多个任务,并将它们提交给线程池
for (int i = 0; i < 10; i++) {
Runnable task = new MyTask(i);
executor.execute(task);
}
// 关闭线程池
executor.shutdown();
}
// 定义一个任务类
static class MyTask implements Runnable {
private int taskId;
public MyTask(int id) {
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task #" + taskId + " is running on thread " + Thread.currentThread().getName());
}
}
}
```
该程序会创建一个固定大小为4的线程池,并提交10个任务给线程池执行。每个任务会打印自己的编号和线程名。最后,程序会关闭线程池。您可以根据自己的需要修改线程池大小和任务内容。
阅读全文