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提供工厂方法
 
 
 

猜你喜欢

转载自www.cnblogs.com/longfurcat/p/9484189.html
今日推荐