在 Java 中,Executor(执行器) 是 java.util.concurrent 包提供的一种任务执行机制抽象,主要用来解耦“任务的提交”和“任务的执行”。
没有 Executor 时,通常这样写:
new Thread(() -> doWork()).start();
问题:
使用 Executor:
Executor executor = Executors.newFixedThreadPool(10);
executor.execute(() -> doWork());
✅ 你只关心“提交任务”,不关心“怎么执行”
Executor 的常见实现是线程池:
例如:
ExecutorService pool = Executors.newFixedThreadPool(5);
Executor 让任务可以:
scheduledExecutor.schedule(task, 3, TimeUnit.SECONDS);
ExecutorService 扩展了 Executor:
Future<String> future = executorService.submit(() -> "result");
String result = future.get();
✅ 支持:
通过统一接口:
Executor(顶层接口)
├── ExecutorService
├── ThreadPoolExecutor
├── ScheduledExecutorService
✅ Web 服务器请求处理
✅ 批量任务处理
✅ 定时任务
✅ 异步日志、消息发送
✅ 并发计算(配合 Future)
Executor 的作用是:用统一、可控、高效的方式执行任务,避免直接使用 Thread 带来的混乱和性能问题。
如果你愿意,我也可以讲:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。