使用java创建一个线程池
时间: 2023-11-14 17:14:33 浏览: 86
在Java中,可以使用`java.util.concurrent`包下的`ExecutorService`接口来创建线程池。以下是一个简单的示例:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池,其中包含5个线程
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交10个任务给线程池
for (int i = 0; i < 10; i++) {
executor.execute(new Task(i));
}
// 关闭线程池
executor.shutdown();
}
static class Task implements Runnable {
private final int taskId;
Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running in thread " + Thread.currentThread().getName());
}
}
}
```
在上面的示例中,我们首先创建了一个固定大小的线程池,其中包含5个线程。然后,我们提交了10个任务给线程池,每个任务都是一个实现了`Runnable`接口的`Task`类的实例。当线程池中有可用线程时,它会自动从线程池中获取一个线程来执行任务。最后,我们调用`shutdown()`方法来关闭线程池。
阅读全文