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