温馨提示×

java newcachedthreadpool 线程管理

小樊
82
2024-12-03 04:41:04
栏目: 编程语言

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() 方法关闭线程池。

0