Executor
是 java.util.concurrent
包下的一个接口类,表示一个执行提交任务的对象。最终如何执行任务取决于此接口的特定实现,因此,借助于此接口可以将任务执行流程和实际的任务执行机制解耦。
需要注意的是,Executor
并不强制要求任务必须异步执行。在最简单的情况下,执行程序可以立即在调用者的线程中运行提交的任务。
JDK 8 中继承自此接口的子接口类型有:
java.util.concurrent.ExecutorService
java.util.concurrent.ScheduledExecutorService
JDK 8 中实现此接口的类有:
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ForkJoinPool
java.util.concurrent.ScheduledThreadPoolExecutor
java.util.concurrent.ThreadPoolExecutor
代码示例:
package tutorial.java.concurrent;
import org.junit.Test;
import java.util.concurrent.Executor;
public class ExecutorDemo {
private class CustomExecutor implements Executor {
@Override
public void execute(Runnable command) {
command.run();
}
}
@Test
public void test() {
Executor executor = new CustomExecutor();
executor.execute(() -> {
// Execute Task
});
}
}
网友评论