ExecutorService接口概要

ExecutorService接口继承于Executor接口,主要提供以下额外功能:
  • 管理终结
  • 产生Future对象,用于跟踪一个或多个任务的进度。
 
ExecutorService可以被shut down。这个操作,将导致它拒绝接受新的任务。它提供了两个关闭EexecutorService的方法。
  • shutdown():运行之前提交的任务,在ExecutorService关闭之前都将被执行。注意:ExecutorService只保证已提交的任务都启动,至于有没有完成,就不管了,只要都启动了,它就可以关闭了。
  • shutdownNow(): 阻止已提交但是正在等待的任务启动,且会尝试取消当前正在执行的任务。
 
一旦进入Termination(终结)状态,这个executor将不再有正在执行的任务,也没有正在等待的任务,且没有可以被提交的新任务。一个没用的ExecutorService应该被shutdown,来回收它的资源。
 
submit方法基于execute(Runnable),通过创建并返回一个Future对象扩展了execute方法,可控制任务的执行。比如可取消执行,也可阻塞当前线程等待任务完成。
 
invokeAny 和 invokeAll 展示了最常用的集体执行的形式。即执行一个集合的任务,并且等待至少一个或者所有任务完成。
 
Executors类为ExcutorService提供工厂方法
 
 
 
上一篇:亚洲最佳电影TOP100出炉 你看过几部?


下一篇:html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?