# Class ThreadPoolExecutor.CallerRunsPolicy

java.lang.Object
org.apache.tomcat.util.threads.ThreadPoolExecutor.CallerRunsPolicy

All Implemented Interfaces:
  `ThreadPoolExecutor.RejectedExecutionHandler`

Enclosing class:
  `ThreadPoolExecutor`

public static class ThreadPoolExecutor.CallerRunsPolicy extends Object implements ThreadPoolExecutor.RejectedExecutionHandler
A handler for rejected tasks that runs the rejected task directly in the calling thread of the `execute` method, unless the executor has been shut down, in which case the task is discarded.

Since:
  1.5

## Constructor Summary

Constructors
Constructor
Description
`CallerRunsPolicy()`
Creates a `CallerRunsPolicy`.

## Method Summary

Modifier and Type
Method
Description
`void`
`rejectedExecution(Runnable r, ThreadPoolExecutor e)`
Executes task r in the caller's thread, unless the executor has been shut down, in which case the task is discarded.

### Methods inherited from class Object

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

## Constructor Details

### CallerRunsPolicy

public CallerRunsPolicy()
Creates a `CallerRunsPolicy`.

## Method Details

### rejectedExecution

public void rejectedExecution(Runnable r, ThreadPoolExecutor e)
Executes task r in the caller's thread, unless the executor has been shut down, in which case the task is discarded.

Specified by:
  `rejectedExecution` in interface `ThreadPoolExecutor.RejectedExecutionHandler`
Parameters:
  `r` - the runnable task requested to be executed
  `e` - the executor attempting to execute this task