概述
Executor父接口
ExecutorService 实现了Executor,增加了系列方法
ScheduledExecutorService
继承ExecutorService,为一个“延迟”和“定期执行”的ExecutorService。它提供了schedule 、scheduleAtFixedRate、scheduleWithFixedDelay几个方法安排任务在给定的延时执行或者周期性执行
AbstractExecutorService实现ExecutorService接口,为其提供默认实现
Executors
//静态工厂类,提供了Executor、ExecutorService、ScheduledExecutorService、ThreadFactory、Callable等类的静态工厂方法,通过这些静态工厂方法可以得到相应的对象
//1、创建并返回设置有常用配置字符串的ExecutorService方法
//2、创建并返回带有常用配置字符串的ScheduledExecutorService方法
//3、创建并返回“包装的”ExecutorService方法,它可以通过使特定于实现的方法不可访问来禁用重新配置
//4、创建并返回ThreadFactory方法,它可以将新创建的线程设置为已知的状态
//5、创建并返回非闭包形式的Callable的方法,这样可以将其用于需要Callable的执行方法中
Future、FutureTask
Future接口和实现了Future接口的FutureTask接口代表了线程池的异步计算结果。AbstractExecutorService提供了newTaskFor()方法返回一个RunnableFuture,除此之外当我们把一个Runnable或者Callable提交给(submit())ThreadPoolExecutor或者ScheduledThreadPoolExecutor时,它们则会向我们返回一个FutureTask对象。如下
protected <T> RunnableFuture<T> newTaskFor(Runnable runnable, T value) {
return new FutureTask<T>(runnable, value);
}
protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable) {
return new FutureTask<T>(callable);
}
<T> Future<T> submit(Callable<T> task)
<T> Future<T> submit(Runnable task, T result)
Future<> submit(Runnable task)
//试图取消对此任务的执行
//如果任务已经执行完成、或取消,或者由于某些原因而无法取消,则返回false
//当调用cancel时,如果调用成功而任务还没启动,则该任务永远不启动
//如果任务已经启动,则mayInterruptIfRunning参数确定是否应该以试图停止任务的方式来中断执行此任务的线程
boolean cancel(boolean mayInterruptIfRunning);
//如果任务正常完成前被取消,则返回ture
boolean isCancelled();
//如果任务已完成,返回true
boolean isDone();
//如果有必要,等待计算完成,然后获取其结果
V get() throws InterruptedException, ExecutionException;
//如有必要,最多等待timeout时间等待计算结果
V get(long timeout, TimeUnit unit)
throws InterruptedException, ExecutionException, TimeoutException;
最后
以上就是苹果野狼为你收集整理的线程池的类关系Executor父接口ExecutorService 实现了Executor,增加了系列方法ScheduledExecutorServiceAbstractExecutorService实现ExecutorService接口,为其提供默认实现ExecutorsFuture、FutureTask的全部内容,希望文章能够帮你解决线程池的类关系Executor父接口ExecutorService 实现了Executor,增加了系列方法ScheduledExecutorServiceAbstractExecutorService实现ExecutorService接口,为其提供默认实现ExecutorsFuture、FutureTask所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复