JavaTM Platform
Standard Ed. 6

接口 java.util.concurrent.Future
的使用

使用 Future 的软件包
java.util.concurrent 在并发编程中很常用的实用工具类。 
javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 
javax.xml.ws 此包包含核心 JAX-WS API。 
 

java.util.concurrentFuture 的使用
 

java.util.concurrentFuture 的子接口
 interface RunnableFuture<V>
          作为 RunnableFuture
 interface RunnableScheduledFuture<V>
          作为 RunnableScheduledFuture
 interface ScheduledFuture<V>
          一个延迟的、结果可接受的操作,可将其取消。
 

实现 Futurejava.util.concurrent 中的类
 class FutureTask<V>
          可取消的异步计算。
 

返回 Futurejava.util.concurrent 中的方法
 Future<V> CompletionService.poll()
          获取并移除表示下一个已完成任务的 Future,如果不存在这样的任务,则返回 null
 Future<V> ExecutorCompletionService.poll()
           
 Future<V> CompletionService.poll(long timeout, TimeUnit unit)
          获取并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则将等待指定的时间(如果有必要)。
 Future<V> ExecutorCompletionService.poll(long timeout, TimeUnit unit)
           
<T> Future<T>
AbstractExecutorService.submit(Callable<T> task)
           
<T> Future<T>
ExecutorService.submit(Callable<T> task)
          提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。
<T> Future<T>
ScheduledThreadPoolExecutor.submit(Callable<T> task)
           
 Future<V> CompletionService.submit(Callable<V> task)
          提交要执行的值返回任务,并返回表示挂起的任务结果的 Future。
 Future<V> ExecutorCompletionService.submit(Callable<V> task)
           
 Future<?> AbstractExecutorService.submit(Runnable task)
           
 Future<?> ExecutorService.submit(Runnable task)
          提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。
 Future<?> ScheduledThreadPoolExecutor.submit(Runnable task)
           
<T> Future<T>
AbstractExecutorService.submit(Runnable task, T result)
           
<T> Future<T>
ExecutorService.submit(Runnable task, T result)
          提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。
<T> Future<T>
ScheduledThreadPoolExecutor.submit(Runnable task, T result)
           
 Future<V> CompletionService.submit(Runnable task, V result)
          提交要执行的 Runnable 任务,并返回一个表示任务完成的 Future,可以提取或轮询此任务。
 Future<V> ExecutorCompletionService.submit(Runnable task, V result)
           
 Future<V> CompletionService.take()
          获取并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则等待。
 Future<V> ExecutorCompletionService.take()
           
 

返回变量类型为 Future 的类型的 java.util.concurrent 中的方法
<T> List<Future<T>>
AbstractExecutorService.invokeAll(Collection<? extends Callable<T>> tasks)
           
<T> List<Future<T>>
ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks)
          执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。
<T> List<Future<T>>
AbstractExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
           
<T> List<Future<T>>
ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
          执行给定的任务,当所有任务完成或超时期满时(无论哪个首先发生),返回保持任务状态和结果的 Future 列表。
 

类型变量类型为 Futurejava.util.concurrent 中的构造方法参数
ExecutorCompletionService(Executor executor, BlockingQueue<Future<V>> completionQueue)
          使用为执行基本任务而提供的执行程序创建一个 ExecutorCompletionService,并将所提供的队列作为其完成队列。
 

javax.swingFuture 的使用
 

实现 Futurejavax.swing 中的类
 class SwingWorker<T,V>
          在专用线程中执行长时间 GUI 交互任务的抽象类。
 

javax.xml.wsFuture 的使用
 

javax.xml.wsFuture 的子接口
 interface Response<T>
          Response 接口提供一些方法,用来获得为响应操作调用而发送的消息的净荷和上下文。
 

返回 Futurejavax.xml.ws 中的方法
 Future<?> Dispatch.invokeAsync(T msg, AsyncHandler<T> handler)
          异步调用服务操作。
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策