请给出3核cpu线程池创建案例
时间: 2024-03-19 12:43:43 浏览: 139
好的,以下是一个简单的3核CPU线程池创建案例:
```java
import java.util.concurrent.*;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池,核心线程数为3,最大线程数为5,空闲线程的存活时间为1分钟,使用有界队列
ExecutorService executor = new ThreadPoolExecutor(3, 5, 1L, TimeUnit.MINUTES, new ArrayBlockingQueue<Runnable>(10));
// 提交10个任务到线程池中执行
for (int i = 1; i <= 10; i++) {
final int taskId = i;
executor.submit(new Runnable() {
public void run() {
System.out.println("Task " + taskId + " is running on thread " + Thread.currentThread().getName());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
// 关闭线程池
executor.shutdown();
}
}
```
在上面的代码中,我们使用了ThreadPoolExecutor类来创建一个线程池。其中,3表示线程池的核心线程数,5表示线程池的最大线程数,1L表示线程空闲的存活时间为1分钟,TimeUnit.MINUTES表示时间单位为分钟,new ArrayBlockingQueue<Runnable>(10)表示使用有界队列,队列的容量为10。
接着,我们提交了10个任务到线程池中执行。在每个任务中,我们打印出当前任务的编号和执行线程的名称,并让线程休眠1秒钟,模拟任务的执行过程。
最后,我们调用了线程池的shutdown()方法来关闭线程池。
阅读全文