## Uses of Interface
java.util.concurrent.Future

Packages that use Future
Package | Description
--- | ---
java.util.concurrent | Utility classes commonly useful in concurrent programming.
javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
javax.xml.ws | This package contains the core JAX-WS APIs.

### Uses of Future in java.util.concurrent

Subinterfaces of Future in java.util.concurrent
Modifier and Type | Interface and Description
--- | ---
`interface` | `RunnableFuture<V>` A `Future` that is `Runnable`.
`interface` | `RunnableScheduledFuture<V>` A `ScheduledFuture` that is `Runnable`.
`interface` | `ScheduledFuture<V>` A delayed result-bearing action that can be cancelled.

Classes in java.util.concurrent that implement Future
Modifier and Type | Class and Description
--- | ---
`class` | `FutureTask<V>` A cancellable asynchronous computation.

Methods in java.util.concurrent that return Future
Modifier and Type | Method and Description
--- | ---
`Future<V>` | ExecutorCompletionService.`poll()`
`Future<V>` | CompletionService.`poll()` Retrieves and removes the Future representing the next completed task or `null` if none are present.
`Future<V>` | ExecutorCompletionService.`poll(long timeout, TimeUnit unit)`
`Future<V>` | CompletionService.`poll(long timeout, TimeUnit unit)` Retrieves and removes the Future representing the next completed task, waiting if necessary up to the specified wait time if none are yet present.
`<T> Future<T>` | ScheduledThreadPoolExecutor.`submit(Callable<T> task)`
`<T> Future<T>` | ExecutorService.`submit(Callable<T> task)` Submits a value-returning task for execution and returns a Future representing the pending results of the task.
`<T> Future<T>` | AbstractExecutorService.`submit(Callable<T> task)`
`Future<V>` | ExecutorCompletionService.`submit(Callable<V> task)`
`Future<V>` | CompletionService.`submit(Callable<V> task)` Submits a value-returning task for execution and returns a Future representing the pending results of the task.
`Future<?>` | ScheduledThreadPoolExecutor.`submit(Runnable task)`
`Future<?>` | ExecutorService.`submit(Runnable task)` Submits a Runnable task for execution and returns a Future representing that task.
`Future<?>` | AbstractExecutorService.`submit(Runnable task)`
`<T> Future<T>` | ScheduledThreadPoolExecutor.`submit(Runnable task, T result)`
`<T> Future<T>` | ExecutorService.`submit(Runnable task, T result)` Submits a Runnable task for execution and returns a Future representing that task.
`<T> Future<T>` | AbstractExecutorService.`submit(Runnable task, T result)`
`Future<V>` | ExecutorCompletionService.`submit(Runnable task, V result)`
`Future<V>` | CompletionService.`submit(Runnable task, V result)` Submits a Runnable task for execution and returns a Future representing that task.
`Future<V>` | ExecutorCompletionService.`take()`
`Future<V>` | CompletionService.`take()` Retrieves and removes the Future representing the next completed task, waiting if none are yet present.

Methods in java.util.concurrent that return types with arguments of type Future
Modifier and Type | Method and Description
--- | ---
`<T> List<Future<T>>` | ExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks)` Executes the given tasks, returning a list of Futures holding their status and results when all complete.
`<T> List<Future<T>>` | AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks)`
`<T> List<Future<T>>` | ExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)` Executes the given tasks, returning a list of Futures holding their status and results when all complete or the timeout expires, whichever happens first.
`<T> List<Future<T>>` | AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`

Constructor parameters in java.util.concurrent with type arguments of type Future
Constructor and Description
`ExecutorCompletionService(Executor executor, BlockingQueue<Future<V>> completionQueue)` Creates an ExecutorCompletionService using the supplied executor for base task execution and the supplied queue as its completion queue.

### Uses of Future in javax.swing

Classes in javax.swing that implement Future
Modifier and Type | Class and Description
--- | ---
`class` | `SwingWorker<T,V>` An abstract class to perform lengthy GUI-interacting tasks in a dedicated thread.

### Uses of Future in javax.xml.ws

Subinterfaces of Future in javax.xml.ws
Modifier and Type | Interface and Description
--- | ---
`interface` | `Response<T>` The `Response` interface provides methods used to obtain the payload and context of a message sent in response to an operation invocation.

Methods in javax.xml.ws that return Future
Modifier and Type | Method and Description
--- | ---
`Future<?>` | Dispatch.`invokeAsync(T msg, AsyncHandler<T> handler)` Invoke a service operation asynchronously.

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.