JavaTM Platform
Standard Ed. 6

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

使用 Callable 的软件包
java.util.concurrent 在并发编程中很常用的实用工具类。 
javax.tools 为能够从程序(例如,编译器)中调用的工具提供接口。 
 

java.util.concurrentCallable 的使用
 

返回 Callablejava.util.concurrent 中的方法
static Callable<Object> Executors.callable(PrivilegedAction<?> action)
          返回 Callable 对象,调用它时可运行给定特权的操作并返回其结果。
static Callable<Object> Executors.callable(PrivilegedExceptionAction<?> action)
          返回 Callable 对象,调用它时可运行给定特权的异常操作并返回其结果。
static Callable<Object> Executors.callable(Runnable task)
          返回 Callable 对象,调用它时可运行给定的任务并返回 null
static
<T> Callable<T>
Executors.callable(Runnable task, T result)
          返回 Callable 对象,调用它时可运行给定的任务并返回给定的结果。
static
<T> Callable<T>
Executors.privilegedCallable(Callable<T> callable)
          返回 Callable 对象,调用它时可在当前的访问控制上下文中执行给定的 callable 对象。
static
<T> Callable<T>
Executors.privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
          返回 Callable 对象,调用它时可在当前的访问控制上下文中,使用当前上下文类加载器作为上下文类加载器来执行给定的 callable 对象。
 

参数类型为 Callablejava.util.concurrent 中的方法
protected
<V> RunnableScheduledFuture<V>
ScheduledThreadPoolExecutor.decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task)
          修改或替换用于执行 callable 的任务。
protected
<T> RunnableFuture<T>
AbstractExecutorService.newTaskFor(Callable<T> callable)
          为给定可调用任务返回一个 RunnableFuture
static
<T> Callable<T>
Executors.privilegedCallable(Callable<T> callable)
          返回 Callable 对象,调用它时可在当前的访问控制上下文中执行给定的 callable 对象。
static
<T> Callable<T>
Executors.privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
          返回 Callable 对象,调用它时可在当前的访问控制上下文中,使用当前上下文类加载器作为上下文类加载器来执行给定的 callable 对象。
<V> ScheduledFuture<V>
ScheduledExecutorService.schedule(Callable<V> callable, long delay, TimeUnit unit)
          创建并执行在给定延迟后启用的 ScheduledFuture。
<V> ScheduledFuture<V>
ScheduledThreadPoolExecutor.schedule(Callable<V> callable, long delay, 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)
           
 

类型变量类型为 Callablejava.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 列表。
<T> T
AbstractExecutorService.invokeAny(Collection<? extends Callable<T>> tasks)
           
<T> T
ExecutorService.invokeAny(Collection<? extends Callable<T>> tasks)
          执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果。
<T> T
AbstractExecutorService.invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
           
<T> T
ExecutorService.invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
          执行给定的任务,如果在给定的超时期满前某个任务已成功完成(也就是未抛出异常),则返回其结果。
 

参数类型为 Callablejava.util.concurrent 中的构造方法
FutureTask(Callable<V> callable)
          创建一个 FutureTask,一旦运行就执行给定的 Callable
 

javax.toolsCallable 的使用
 

javax.toolsCallable 的子接口
static interface JavaCompiler.CompilationTask
          表示编译任务的 future 的接口。
 


JavaTM Platform
Standard Ed. 6

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

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