org.apache.ignite.thread

## Class IgniteThreadPoolExecutor

- java.lang.Object
- - java.util.concurrent.AbstractExecutorService
  - - java.util.concurrent.ThreadPoolExecutor
    - - org.apache.ignite.thread.IgniteThreadPoolExecutor

All Implemented Interfaces:
  Executor, ExecutorService

    public class IgniteThreadPoolExecutor
    extends ThreadPoolExecutor

An `ExecutorService` that executes submitted tasks using pooled grid threads.

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor

`ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy`

### Field Summary

Fields
`static int` `DFLT_CORE_POOL_SIZE` Default core pool size (value is `100`).

### Constructor Summary

Constructors
Constructor and Description
`IgniteThreadPoolExecutor()` Creates a new service with default initial parameters.
`IgniteThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, BlockingQueue<Runnable> workQueue)` Creates a new service with the given initial parameters.
`IgniteThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, BlockingQueue<Runnable> workQ, RejectedExecutionHandler hnd)` Creates a new service with the given initial parameters.
`IgniteThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, BlockingQueue<Runnable> workQ, ThreadFactory threadFactory, RejectedExecutionHandler hnd)` Creates a new service with the given initial parameters.
`IgniteThreadPoolExecutor(String gridName)` Creates a new service with default initial parameters.
`IgniteThreadPoolExecutor(String gridName, int corePoolSize, int maxPoolSize, long keepAliveTime, BlockingQueue<Runnable> workQ)` Creates a new service with the given initial parameters.
`IgniteThreadPoolExecutor(String gridName, int corePoolSize, int maxPoolSize, long keepAliveTime, BlockingQueue<Runnable> workQ, RejectedExecutionHandler hnd)` Creates a new service with the given initial parameters.

### Method Summary

### Methods inherited from class java.util.concurrent.ThreadPoolExecutor

`afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow, terminated, toString`

### Methods inherited from class java.util.concurrent.AbstractExecutorService

`invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### DFLT_CORE_POOL_SIZE

    public static final int DFLT_CORE_POOL_SIZE

Default core pool size (value is `100`).

See Also:
  Constant Field Values

### Constructor Detail

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor()

Creates a new service with default initial parameters. Default values are:

Name | Default Value
--- | ---
Core Pool Size | `100` (see `DFLT_CORE_POOL_SIZE`).
Maximum Pool Size | None, is it is not used for unbounded queues.
Keep alive time | No limit (see `Long.MAX_VALUE`).
Blocking Queue (see `BlockingQueue`). | Unbounded linked blocking queue (see `LinkedBlockingDeque`).

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(int corePoolSize,
                            int maxPoolSize,
                            long keepAliveTime,
                            BlockingQueue<Runnable> workQueue)

Creates a new service with the given initial parameters.

Parameters:
  `corePoolSize` - The number of threads to keep in the pool, even if they are idle.
  `maxPoolSize` - The maximum number of threads to allow in the pool.
  `keepAliveTime` - When the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.
  `workQueue` - The queue to use for holding tasks before they are executed. This queue will hold only runnable tasks submitted by the `ThreadPoolExecutor.execute(Runnable)` method.

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(int corePoolSize,
                            int maxPoolSize,
                            long keepAliveTime,
                            BlockingQueue<Runnable> workQ,
                            RejectedExecutionHandler hnd)

Creates a new service with the given initial parameters.

Parameters:
  `corePoolSize` - The number of threads to keep in the pool, even if they are idle.
  `maxPoolSize` - The maximum number of threads to allow in the pool.
  `keepAliveTime` - When the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.
  `workQ` - The queue to use for holding tasks before they are executed. This queue will hold only the runnable tasks submitted by the `ThreadPoolExecutor.execute(Runnable)` method.
  `hnd` - Optional handler to use when execution is blocked because the thread bounds and queue capacities are reached. If `null` then `AbortPolicy` handler is used by default.

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(String gridName)

Creates a new service with default initial parameters. Default values are:

Name | Default Value
--- | ---
Core Pool Size | `100` (see `DFLT_CORE_POOL_SIZE`).
Maximum Pool Size | None, is it is not used for unbounded queues.
Keep alive time | No limit (see `Long.MAX_VALUE`).
Blocking Queue (see `BlockingQueue`). | Unbounded linked blocking queue (see `LinkedBlockingDeque`).

Parameters:
  `gridName` - Name of the grid.

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(String gridName,
                            int corePoolSize,
                            int maxPoolSize,
                            long keepAliveTime,
                            BlockingQueue<Runnable> workQ)

Creates a new service with the given initial parameters.

Parameters:
  `gridName` - Name of the grid
  `corePoolSize` - The number of threads to keep in the pool, even if they are idle.
  `maxPoolSize` - The maximum number of threads to allow in the pool.
  `keepAliveTime` - When the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.
  `workQ` - The queue to use for holding tasks before they are executed. This queue will hold only runnable tasks submitted by the `ThreadPoolExecutor.execute(Runnable)` method.

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(String gridName,
                            int corePoolSize,
                            int maxPoolSize,
                            long keepAliveTime,
                            BlockingQueue<Runnable> workQ,
                            RejectedExecutionHandler hnd)

Creates a new service with the given initial parameters.

Parameters:
  `gridName` - Name of the grid.
  `corePoolSize` - The number of threads to keep in the pool, even if they are idle.
  `maxPoolSize` - The maximum number of threads to allow in the pool.
  `keepAliveTime` - When the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.
  `workQ` - The queue to use for holding tasks before they are executed. This queue will hold only the runnable tasks submitted by the `ThreadPoolExecutor.execute(Runnable)` method.
  `hnd` - Optional handler to use when execution is blocked because the thread bounds and queue capacities are reached. If `null` then `AbortPolicy` handler is used by default.

#### IgniteThreadPoolExecutor

    public IgniteThreadPoolExecutor(int corePoolSize,
                            int maxPoolSize,
                            long keepAliveTime,
                            BlockingQueue<Runnable> workQ,
                            ThreadFactory threadFactory,
                            @Nullable
                            RejectedExecutionHandler hnd)

Creates a new service with the given initial parameters.

Parameters:
  `corePoolSize` - The number of threads to keep in the pool, even if they are idle.
  `maxPoolSize` - The maximum number of threads to allow in the pool.
  `keepAliveTime` - When the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.
  `workQ` - The queue to use for holding tasks before they are executed. This queue will hold only the runnable tasks submitted by the `ThreadPoolExecutor.execute(Runnable)` method.
  `threadFactory` - Thread factory.
  `hnd` - Optional handler to use when execution is blocked because the thread bounds and queue capacities are reached. If `null` then `AbortPolicy` handler is used by default.

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.0.0-RC1
Release Date | : February 17 2015