Module java.base
Package java.util.concurrent

# Interface Callable<V>

Type Parameters:
  `V` - the result type of method `call`

All Known Subinterfaces:
  `DocumentationTool.DocumentationTask`, `JavaCompiler.CompilationTask`

All Known Implementing Classes:
  `JavacTask`

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface Callable<V>

A task that returns a result and may throw an exception. Implementors define a single method with no arguments called `call`.

The `Callable` interface is similar to `Runnable`, in that both are designed for classes whose instances are potentially executed by another thread. A `Runnable`, however, does not return a result and cannot throw a checked exception.

The `Executors` class contains utility methods to convert from other common forms to `Callable` classes.

Since:
  1.5
See Also:
  `Executor`

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`V` | `call()` | Computes a result, or throws an exception if unable to do so.

## Method Details

### call

V call() throws Exception
Computes a result, or throws an exception if unable to do so.

Returns:
  computed result
Throws:
  `Exception` - if unable to compute a result