| 
JavaTM 2 Platform Standard Ed. 5.0  | 
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.util.concurrent.AbstractExecutorService
public abstract class AbstractExecutorService
提供 ExecutorService 执行方法的默认实现。此类使用包中提供的默认 FutureTask 类实现了 submit、invokeAny 和 invokeAll 方法。例如,submit(Runnable) 的实现创建了一个相关的 FutureTask 类,该类将被执行并返回。为了使用不同 Future 实现而重写这些方法的子类,对于每个方法都应该采用一致的做法。
| 构造方法摘要 | |
|---|---|
AbstractExecutorService()
 | 
|
| 方法摘要 | ||
|---|---|---|
 | 
invokeAll(Collection<Callable<T>> tasks)
执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。  | 
|
 | 
invokeAll(Collection<Callable<T>> tasks,
          long timeout,
          TimeUnit unit)
执行给定的任务,当所有任务完成或超时期满时(无论哪个首先发生),返回保持任务状态和结果的 Future 列表。  | 
|
 | 
invokeAny(Collection<Callable<T>> tasks)
执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果。  | 
|
 | 
invokeAny(Collection<Callable<T>> tasks,
          long timeout,
          TimeUnit unit)
执行给定的任务,如果在给定的超时期满前某个任务已成功完成(也就是未抛出异常),则返回其结果。  | 
|
 | 
submit(Callable<T> task)
提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。  | 
|
 Future<?> | 
submit(Runnable task)
提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。  | 
|
 | 
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 | 
| 构造方法详细信息 | 
|---|
public AbstractExecutorService()
| 方法详细信息 | 
|---|
public Future<?> submit(Runnable task)
ExecutorService 复制的描述
ExecutorService 中的 submittask - 要提交的任务。
public <T> Future<T> submit(Runnable task,
                            T result)
ExecutorService 复制的描述
ExecutorService 中的 submittask - 要提交的任务result - 返回的结果
public <T> Future<T> submit(Callable<T> task)
ExecutorService 复制的描述如果想立即阻塞任务的等待,则可以使用 result = exec.submit(aCallable).get(); 形式的构造。
 注:Executors 类包括了一组方法,可以转换某些其他常见的类似于闭包的对象,例如,将 PrivilegedAction 转换为 Callable 形式,这样就可以提交它们了。
ExecutorService 中的 submittask - 要提交的任务
public <T> T invokeAny(Collection<Callable<T>> tasks)
            throws InterruptedException,
                   ExecutionException
ExecutorService 复制的描述
ExecutorService 中的 invokeAnytasks - 任务集合
InterruptedException - 如果等待时发生中断
ExecutionException - 如果没有任务成功完成
public <T> T invokeAny(Collection<Callable<T>> tasks,
                       long timeout,
                       TimeUnit unit)
            throws InterruptedException,
                   ExecutionException,
                   TimeoutException
ExecutorService 复制的描述
ExecutorService 中的 invokeAnytasks - 任务集合timeout - 最长等待时间unit - timeout 参数的时间单位
InterruptedException - 如果等待时发生中断
ExecutionException - 如果没有任务成功完成
TimeoutException - 如果在所有任务成功完成之前给定的超时期满
public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks)
                          throws InterruptedException
ExecutorService 复制的描述Future.isDone() 为 true。注意,可以正常地或通过抛出异常来终止已完成 任务。如果正在进行此操作时修改了给定的集合,则此方法的结果是不明确的。
ExecutorService 中的 invokeAlltasks - 任务集合
InterruptedException - 如果等待时发生中断,在这种情况下取消尚未完成的任务。
public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks,
                                     long timeout,
                                     TimeUnit unit)
                          throws InterruptedException
ExecutorService 复制的描述Future.isDone() 为 true。一旦返回后,即取消尚未完成的任务。注意,可以正常地或通过抛出异常来终止已完成 任务。如果此操作正在进行时修改了给定的集合,则此方法的结果是不明确的。
ExecutorService 中的 invokeAlltasks - 任务集合timeout - 最长等待时间unit - timeout 参数的时间单位
InterruptedException - 如果等待时发生中断,在这种情况下取消尚未完成的任务
  | 
JavaTM 2 Platform Standard Ed. 5.0  | 
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。