ExecutorService接口继承于Executor接口,主要提供以下额外功能:
ExecutorService可以被shut down。这个操作,将导致它拒绝接受新的任务。它提供了两个关闭EexecutorService的方法。
一旦进入Termination(终结)状态,这个executor将不再有正在执行的任务,也没有正在等待的任务,且没有可以被提交的新任务。一个没用的ExecutorService应该被shutdown,来回收它的资源。
submit方法基于execute(Runnable),通过创建并返回一个Future对象扩展了execute方法,可控制任务的执行。比如可取消执行,也可阻塞当前线程等待任务完成。
invokeAny 和 invokeAll 展示了最常用的集体执行的形式。即执行一个集合的任务,并且等待至少一个或者所有任务完成。
Executors类为ExcutorService提供工厂方法