当前位置:首页 科普知识 AbstractExecutorService

AbstractExecutorService

发布时间:2023-09-04 21:08:08

public abstract class AbstractExecutorServiceextends Objectimplements ExecutorService提供 ExecutorService 执行方法的默认实现。此类使用包中提供的默认 FutureTask 类实现了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的实现创建了一个相关的 FutureTask 类,该类将被执行并返回。为了使用不同 Future 实现而重写这些方法的子类,对于每个方法都应该采用一致的做法。

AbstractExecutorService详细介绍

public abstract class AbstractExecutorServiceextends Objectimplements ExecutorService提供 ExecutorService 执行方法的默认实现。此类使用包中提供的默认 FutureTask 类实现了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的实现创建了一个相关的 FutureTask 类,该类将被执行并返回。为了使用不同 Future 实现而重写这些方法的子类,对于每个方法都应该采用一致的做法。

AbstractExecutorService

AbstractExecutorService参数

java.util.concurrent

类 AbstractExecutorService

java.lang.Object

java.util.concurrent.AbstractExecutorService

所有已实现的接口

Executor, ExecutorService

直接已知子类

ThreadPoolExecutor

AbstractExecutorService功能

public abstract class AbstractExecutorServiceextends Objectimplements ExecutorService提供 ExecutorService 执行方法的默认实现。此类使用包中提供的默认 FutureTask 类实现了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的实现创建了一个相关的 FutureTask 类,该类将被执行并返回。为了使用不同 Future 实现而重写这些方法的子类,对于每个方法都应该采用一致的做法。

从以下版本开始:

1.5

AbstractExecutorService构造方法摘要

AbstractExecutorService()

<T> List<Future<T>>

invokeAll(Collection<Callable<T>> tasks)

执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。

<T> List<Future<T>>

invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)

执行给定的任务,当所有任务完成或超时期满时(无论哪个首先发生),返回保持任务状态和结果的 Future 列表。

<T> T

invokeAny(Collection<Callable<T>> tasks)

执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果。

<T> T

invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)

执行给定的任务,如果在给定的超时期满前某个任务已成功完成(也就是未抛出异常),则返回其结果。

<T> Future<T>

submit(Callable<T> task)

提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。

Future<?> submit(Runnable task)

提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。

<T> Future<T>

submit(Runnable task, T result)

提交一个 Runnable 任务用于执行,并返回一个 Future,该 Future 表示任务一旦完成后即返回给定的结果。

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

从接口 java.util.concurrent.ExecutorService 继承的方法

AbstractExecutorService

awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow

从接口 java.util.concurrent.Executor 继承的方法

execute

AbstractExecutorService构造方法

AbstractExecutorService

public AbstractExecutorService()方法详细信息

submit

public Future<?> submit(Runnable task)从接口 ExecutorService 复制的描述

提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。

指定者:

接口 ExecutorService 中的 submit

参数:

task - 要提交的任务。

返回:

表示任务等待完成的 Future,并且其 get() 方法在完成后将返回 null。

invokeAny

public <T> T invokeAny(Collection<Callable<T>> tasks)

throws InterruptedException,

ExecutionException从接口 ExecutorService 复制的描述

执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果。一旦正常或异常返回后,则取消尚未完成的任务。如果此操作正在进行时修改了给定的集合,则此方法的结果是不明确的。

指定者:

接口 ExecutorService 中的 invokeAny

参数:

tasks - 任务集合

返回:

某个任务返回的结果

抛出:

InterruptedException - 如果等待时发生中断

ExecutionException - 如果没有任务成功完成

TimeoutException - 如果在所有任务成功完成之前给定的超时期满

invokeAll

public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks)

throws InterruptedException从接口 ExecutorService 复制的描述

执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。返回列表的所有元素的 Future.isDone() 为 true。注意,可以正常地或通过抛出异常来终止已完成 任务。如果正在进行此操作时修改了给定的集合,则此方法的结果是不明确的。

指定者:

接口 ExecutorService 中的 invokeAll

参数:

tasks - 任务集合

AbstractExecutorService

返回:

表示任务的 Future 列表,列表顺序与给定任务列表的迭代器所生成的顺序相同,每个任务都已完成。

抛出:

InterruptedException - 如果等待时发生中断,在这种情况下取消尚未完成的任务。

温馨提示:
本文【AbstractExecutorService】由作者 百科科普 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6