Executor是Java并发包中抽象任务执行的核心接口,它将任务提交与线程管理解耦,避免手动创建和管理线程;常用实现为ExecutorService及其线程池,如newFixedThreadPool、newCachedThreadPool等。

Executor 是 Java 并发包(java.util.concurrent)中的一个核心接口,它的作用很简单:**把任务(Runnable)交给线程去执行,而你不用手动创建或管理线程**。
Executor 的本质是“执行器”
它抽象了“如何运行任务”这件事。你只管提交任务(比如一个 Runnable),它负责安排哪个线程、什么时候、用什么方式去跑。这就像把快递交给快递公司——你不用知道司机是谁、走哪条路,只关心货送到了没。
常见实现类:ExecutorService 和线程池
实际开发中,几乎不会直接用 Executor 接口,而是用它的子接口 ExecutorService,以及它的典型实现:
-
Executors.newFixedThreadPool(5):固定 5 个线程的池,适合负载稳定的任务 -
Executors.newCachedThreadPool():按需创建线程,空闲 60 秒自动回收,适合大量短时任务 -
Executors.newSingleThreadExecutor():只有一个线程,保证任务串行执行 -
ForkJoinPool.commonPool():专为分治任务(如并行流)优化的池
为什么不用 new Thread().start()?
直接 new 线程看似简单,但问题不少:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~