。在编程和软件开发领域,Executor 可能是一个用于并发执行任务的组件或类。例如,在 Java 的 java.util.concurrent
包中,Executor
是一个接口,用于异步执行任务。
Executor 接口简介
在 Java 中,Executor
接口是并发编程的核心组件之一,它定义了执行提交给它的任务的方法。Executor
接口的主要目的是将任务的提交与执行分离,从而允许不同的执行策略。
Executor 的使用
- 任务提交:使用
Executor
接口的execute(Runnable command)
方法提交一个任务(实现了Runnable
接口的对象)。 - 线程池管理:
ExecutorService
扩展了Executor
接口,提供了管理线程池的方法,如创建和关闭线程池。 - 并发控制:通过使用不同的
Executor
实现,可以控制任务的并发执行方式,例如使用固定大小的线程池或缓存线程池。
Executor 代码示例
以下是 Java 中使用 ExecutorService
来执行并发任务的简单示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ExecutorExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executor = Executors.newFixedThreadPool(3);
// 提交任务到线程池
for (int i = 0; i < 5; i++) {
int finalI = i; // 用于在 lambda 表达式中捕获变量
executor.execute(() -> {
System.out.println("Task " + finalI + " executed by " + Thread.currentThread().getName());
});
}
// 关闭线程池,不再接受新任务,并且等待正在进行的任务完成
executor.shutdown();
}
}