温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Executor 执行器怎样创建

发布时间:2026-11-10 02:15:31 来源:亿速云 阅读:96 作者:小樊 栏目:编程语言

在 Java 中,Executor(执行器) 通常用于管理线程、执行任务(Runnable / Callable)。Java 提供了多种方式创建 Executor,最常用的是通过 java.util.concurrent.Executors 工厂类,以及直接使用 ThreadPoolExecutor。

下面按常见方式给你说明:


一、使用 Executors 工厂类(最简单)

1️⃣ 固定大小线程池

ExecutorService executor = Executors.newFixedThreadPool(5);

特点:

  • 线程数固定
  • 适合稳定并发任务

2️⃣ 单线程执行器

ExecutorService executor = Executors.newSingleThreadExecutor();

特点:

  • 只有一个线程
  • 任务按顺序执行

3️⃣ 可缓存线程池

ExecutorService executor = Executors.newCachedThreadPool();

特点:

  • 线程数可动态增长
  • 适合短期异步任务

4️⃣ 定时 / 周期性任务

ScheduledExecutorService executor =
        Executors.newScheduledThreadPool(3);

示例:

executor.schedule(() -> {
    System.out.println("延迟执行");
}, 2, TimeUnit.SECONDS);

二、使用 ThreadPoolExecutor(推荐、更可控)

ExecutorService executor = new ThreadPoolExecutor(
        2,                      // 核心线程数
        10,                     // 最大线程数
        60L,                    // 空闲线程存活时间
        TimeUnit.SECONDS,
        new LinkedBlockingQueue<>(100) // 任务队列
);

✅ 推荐原因

  • 可控制队列大小(防止 OOM)
  • 可自定义拒绝策略

三、提交任务

executor.execute(() -> {
    System.out.println("Runnable 任务");
});

Future<String> future = executor.submit(() -> {
    return "Callable 结果";
});

四、关闭 Executor

executor.shutdown();
// 或
executor.shutdownNow();

五、基本选择建议

场景 推荐方式
简单使用 Executors.newFixedThreadPool
高并发、生产环境 ThreadPoolExecutor
定时任务 ScheduledExecutorService
单线程顺序执行 newSingleThreadExecutor

如果你愿意,我可以:

  • 给你一个 完整示例
  • 讲 线程池参数怎么配
  • 或结合 Spring / Spring Boot 的使用方式

你更想了解哪一块?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手