![](https://csdnimg.cn/release/download_crawler_static/87912831/bg6.jpg)
throws InterruptedException,
ExecutionException, TimeoutException;
}
而 ExecutorService 又是继承了 Executor 接口,我们看一下 Executor 接口的实现:
public interface Executor
{
void execute(Runnable
command);
}
到这里,大家应该明白了 ThreadPoolExecutor、AbstractExecutorService、
ExecutorService 和 Executor 几个之间的关系了。
Executor 是一个顶层接口,在它里面只声明了一个方法 execute(Runnable),返回值
为 void,参数为 Runnable 类型,从字面意思可以理解,就是用来执行传进去的任务的;
然后 ExecutorService 接口继承了 Executor 接口,并声明了一些方法:submit、
invokeAll、invokeAny 以及 shutDown 等;
抽象类 AbstractExecutorService 实现了 ExecutorService 接口,基本实现了
ExecutorService 中声明的所有方法;
然后 ThreadPoolExecutor 继承了类 AbstractExecutorService。
在 ThreadPoolExecutor 类中有几个非常重要的方法:
execute()
submit()
shutdown()
shutdownNow()