# Uses of Class
java.util.concurrent.ForkJoinTask

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

## Uses of ForkJoinTask in java.util.concurrent

Subclasses of ForkJoinTask in java.util.concurrent
Modifier and Type | Class | Description
--- | --- | ---
`class` | `CountedCompleter<T>` | A `ForkJoinTask` with a completion action performed when triggered and there are no remaining pending actions.
`class` | `RecursiveAction` | A recursive resultless `ForkJoinTask`.
`class` | `RecursiveTask<V>` | A recursive result-bearing `ForkJoinTask`.

Methods in java.util.concurrent with type parameters of type ForkJoinTask
Modifier and Type | Method | Description
--- | --- | ---
`static <T extends ForkJoinTask<?>> Collection<T>` | ForkJoinTask.`invokeAll​(Collection<T> tasks)` | Forks all tasks in the specified collection, returning when `isDone` holds for each task or an (unchecked) exception is encountered, in which case the exception is rethrown.

Methods in java.util.concurrent that return ForkJoinTask
Modifier and Type | Method | Description
--- | --- | ---
`static ForkJoinTask<?>` | ForkJoinTask.`adapt​(Runnable runnable)` | Returns a new `ForkJoinTask` that performs the `run` method of the given `Runnable` as its action, and returns a null result upon `join()`.
`static <T> ForkJoinTask<T>` | ForkJoinTask.`adapt​(Runnable runnable, T result)` | Returns a new `ForkJoinTask` that performs the `run` method of the given `Runnable` as its action, and returns the given result upon `join()`.
`static <T> ForkJoinTask<T>` | ForkJoinTask.`adapt​(Callable<? extends T> callable)` | Returns a new `ForkJoinTask` that performs the `call` method of the given `Callable` as its action, and returns its result upon `join()`, translating any checked exceptions encountered into `RuntimeException`.
`ForkJoinTask<V>` | ForkJoinTask.`fork()` | Arranges to asynchronously execute this task in the pool the current task is running in, if applicable, or using the `ForkJoinPool.commonPool()` if not `inForkJoinPool()`.
`protected static ForkJoinTask<?>` | ForkJoinTask.`peekNextLocalTask()` | Returns, but does not unschedule or execute, a task queued by the current thread but not yet executed, if one is immediately available.
`protected static ForkJoinTask<?>` | ForkJoinTask.`pollNextLocalTask()` | Unschedules and returns, without executing, the next task queued by the current thread but not yet executed, if the current thread is operating in a ForkJoinPool.
`protected ForkJoinTask<?>` | ForkJoinPool.`pollSubmission()` | Removes and returns the next unexecuted submission if one is available.
`protected static ForkJoinTask<?>` | ForkJoinTask.`pollSubmission()` | If the current thread is operating in a ForkJoinPool, unschedules and returns, without executing, a task externally submitted to the pool, if one is available.
`protected static ForkJoinTask<?>` | ForkJoinTask.`pollTask()` | If the current thread is operating in a ForkJoinPool, unschedules and returns, without executing, the next task queued by the current thread but not yet executed, if one is available, or if not available, a task that was forked by some other thread, if available.
`ForkJoinTask<?>` | ForkJoinPool.`submit​(Runnable task)` |
`<T> ForkJoinTask<T>` | ForkJoinPool.`submit​(Runnable task, T result)` |
`<T> ForkJoinTask<T>` | ForkJoinPool.`submit​(Callable<T> task)` |
`<T> ForkJoinTask<T>` | ForkJoinPool.`submit​(ForkJoinTask<T> task)` | Submits a ForkJoinTask for execution.

Methods in java.util.concurrent with parameters of type ForkJoinTask
Modifier and Type | Method | Description
--- | --- | ---
`void` | ForkJoinPool.`execute​(ForkJoinTask<?> task)` | Arranges for (asynchronous) execution of the given task.
`<T> T` | ForkJoinPool.`invoke​(ForkJoinTask<T> task)` | Performs the given task, returning its result upon completion.
`static void` | ForkJoinTask.`invokeAll​(ForkJoinTask<?>... tasks)` | Forks the given tasks, returning when `isDone` holds for each task or an (unchecked) exception is encountered, in which case the exception is rethrown.
`static void` | ForkJoinTask.`invokeAll​(ForkJoinTask<?> t1, ForkJoinTask<?> t2)` | Forks the given tasks, returning when `isDone` holds for each task or an (unchecked) exception is encountered, in which case the exception is rethrown.
`<T> ForkJoinTask<T>` | ForkJoinPool.`submit​(ForkJoinTask<T> task)` | Submits a ForkJoinTask for execution.

Method parameters in java.util.concurrent with type arguments of type ForkJoinTask
Modifier and Type | Method | Description
--- | --- | ---
`protected int` | ForkJoinPool.`drainTasksTo​(Collection<? super ForkJoinTask<?>> c)` | Removes all available unexecuted submitted and forked tasks from scheduling queues and adds them to the given collection, without altering their execution status.