溫馨提示×

java newcachedthreadpool 如何使用

小樊
98
2024-12-03 04:39:06
欄目: 編程語言

newCachedThreadPool 是 Java 中 java.util.concurrent.Executors 類的一個方法,它創建了一個可緩存的線程池。這個線程池在需要時會創建新的線程,但如果線程池的大小超過了處理需要,可緩存的線程會被復用。當任務完成后,線程不會立即銷毀,而是返回到線程池中,等待下一個任務。這種線程池適用于任務數量不確定的場景。

以下是使用 newCachedThreadPool 的示例:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class CachedThreadPoolExample {
    public static void main(String[] args) {
        // 創建一個可緩存的線程池
        ExecutorService cachedThreadPool = Executors.newCachedThreadPool();

        // 提交任務到線程池
        for (int i = 0; i < 10; i++) {
            final int taskNumber = i;
            cachedThreadPool.submit(() -> {
                System.out.println("Task " + taskNumber + " is executed by thread " + Thread.currentThread().getName());
                try {
                    // 模擬任務執行耗時
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            });
        }

        // 關閉線程池
        cachedThreadPool.shutdown();
    }
}

在這個示例中,我們創建了一個可緩存的線程池 cachedThreadPool,然后提交了 10 個任務到線程池。每個任務打印出它的編號和執行它的線程名稱。任務執行完成后,線程不會立即銷毀,而是返回到線程池中,等待下一個任務。最后,我們調用 shutdown() 方法關閉線程池。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女