AbstractExecutorService

public abstract class AbstractExecutorServiceextends Objectimplements ExecutorService提供 ExecutorService 執行方法的默認實現。此類使用包中提供的默認 FutureTask 類實現了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的實現創建了一個相關的 FutureTask 類,該類將被執行並返回。為了使用不同 Future 實現而重寫這些方法的子類,對於每個方法都應該採用一致的做法。

基本介紹

  • 外文名:AbstractExecutorService
  • 已實現的接口:Executor、 ExecutorService
  • 直接已知子類:ThreadPoolExecutor
  • 構造方法:submit等
參數,所有已實現的接口,直接已知子類,功能,構造方法摘要,構造方法詳細信息,submit,invokeAny,invokeAll,

參數

java.util.concurrent
類 AbstractExecutorService
java.lang.Object
java.util.concurrent.AbstractExecutorService

所有已實現的接口

Executor, ExecutorService

直接已知子類

ThreadPoolExecutor

功能

public abstract class AbstractExecutorServiceextends Objectimplements ExecutorService提供 ExecutorService 執行方法的默認實現。此類使用包中提供的默認 FutureTask 類實現了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的實現創建了一個相關的 FutureTask 類,該類將被執行並返回。為了使用不同 Future 實現而重寫這些方法的子類,對於每個方法都應該採用一致的做法。
從以下版本開始:
1.5

構造方法摘要

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 繼承的方法
awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow
從接口 java.util.concurrent.Executor 繼承的方法
execute

構造方法詳細信息

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 - 任務集合
返回:
表示任務的 Future 列表,列表順序與給定任務列表的疊代器所生成的順序相同,每個任務都已完成。
拋出:
InterruptedException - 如果等待時發生中斷,在這種情況下取消尚未完成的任務。

相關詞條

熱門詞條

聯絡我們