newCachedThreadPool
是 Java 中 Executors
類提供的一種線程池創建方式。它的特點是:當有新任務提交時,會創建一個新的線程;當線程空閑時間超過 60 秒時,該線程會被終止并移出線程池。這種線程池適用于任務數量不確定的場景,可以有效地回收和重用線程資源。
以下是 newCachedThreadPool
的使用示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CachedThreadPoolExample {
public static void main(String[] args) {
// 創建一個可緩存的線程池
ExecutorService executorService = Executors.newCachedThreadPool();
// 提交任務到線程池
for (int i = 0; i < 10; i++) {
executorService.submit(() -> {
System.out.println("Task executed by thread: " + Thread.currentThread().getName());
});
}
// 關閉線程池
executorService.shutdown();
}
}
在這個示例中,我們創建了一個可緩存的線程池,并提交了 10 個任務。線程池會根據需要創建新的線程來執行任務,當線程空閑時間超過 60 秒時,會自動終止并回收資源。最后,我們調用 shutdown()
方法關閉線程池。