Java多線程池的實現方法通常是使用java.util.concurrent包中的Executor框架。具體來說,可以使用ExecutorService接口來創建和管理線程池,常用的實現類是ThreadPoolExecutor。
以下是使用ThreadPoolExecutor創建線程池的示例代碼:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 創建一個固定大小的線程池,同時最多有3個線程在運行
ExecutorService executor = Executors.newFixedThreadPool(3);
// 提交任務給線程池
for (int i = 0; i < 10; i++) {
executor.execute(new Task(i));
}
// 關閉線程池
executor.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 in thread " + Thread.currentThread().getName());
}
}
}
在上面的示例中,首先通過Executors工廠類創建了一個固定大小為3的線程池,然后通過executor.execute方法提交了10個任務給線程池。每個任務都是一個實現了Runnable接口的Task類,其中的run方法定義了任務的具體執行邏輯。最后通過executor.shutdown方法關閉線程池。