Package org.apache.sling.commons.threads

## Interface ThreadPool

All Superinterfaces:
  `Executor`

    @ProviderType
    public interface ThreadPool
    extends Executor

The thread pool interface allows to start runnables by getting threads from a managed pool.

### Method Summary

All Methods Instance Methods Abstract Methods
`ThreadPoolConfig` `getConfiguration()` The thread pool configuration.
`String` `getName()` The name of the thread pool.
`Future<?>` `submit​(Runnable runnable)` Submits a runnable for execution
`<T> Future<T>` `submit​(Callable<T> callable)` Submits a callable for execution

### Methods inherited from interface java.util.concurrent.Executor

`execute`

### Method Detail

#### submit

    <T> Future<T> submit​(Callable<T> callable)

Submits a callable for execution

Type Parameters:
  `T` - The generic type for the callable.
Parameters:
  `callable` - The `Callable` to submit
Returns:
  A `Future` representing pending completion of the `Callable`
Since:
  3.2

#### submit

    Future<?> submit​(Runnable runnable)

Submits a runnable for execution

Parameters:
  `runnable` - The `Runnable` to submit
Returns:
  A `Future` representing pending completion of the `Runnable`
Since:
  3.2

#### getName

    String getName()

The name of the thread pool.

Returns:
  The thread pool name.

#### getConfiguration

    ThreadPoolConfig getConfiguration()

The thread pool configuration.

Returns:
  The thread pool configuration