java语言使用ThreadPoolExecutor创建线程池实例
时间: 2023-08-15 20:14:32 浏览: 132
在 Java 语言中,可以使用 `ThreadPoolExecutor` 类来创建线程池实例。以下是一个使用 `ThreadPoolExecutor` 创建线程池的示例代码:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建 ThreadPoolExecutor 实例
ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5);
// 可选:设置线程池参数
executor.setCorePoolSize(5); // 核心线程数
executor.setMaximumPoolSize(10); // 最大线程数
executor.setKeepAliveTime(1, TimeUnit.MINUTES); // 线程空闲时间
executor.setQueueCapacity(100); // 队列容量
// 提交任务给线程池执行
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 taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is executing.");
// 任务逻辑代码...
}
}
}
```
在上述示例中,首先通过 `Executors.newFixedThreadPool()` 方法创建一个固定大小的线程池,然后可以根据需要使用 `setXXX()` 方法设置线程池的参数。接下来,通过调用 `execute()` 方法提交任务给线程池执行。最后,通过调用 `shutdown()` 方法关闭线程池。
注意:在实际开发中,根据具体需求,可能需要根据任务类型和系统资源情况来调整线程池的参数。
阅读全文