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

- Packages that use Future
  Package | Description
  --- | ---
  java.util.concurrent | Utility classes commonly useful in concurrent programming.

- - ### 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` | `CountedCompleter<T>` A `ForkJoinTask` with a completion action performed when triggered and there are no remaining pending actions.
    `class` | `ForkJoinTask<V>` Abstract base class for tasks that run within a `ForkJoinPool`.
    `class` | `FutureTask<V>` A cancellable asynchronous computation.
    `class` | `RecursiveAction` A recursive resultless `ForkJoinTask`.
    `class` | `RecursiveTask<V>` A recursive result-bearing `ForkJoinTask`.

    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>>` | ForkJoinPool.`invokeAll(Collection<? extends Callable<T>> tasks)`
    `<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.

Copyright © 2025 API Design. All Rights Reserved.