Module java.base
Package java.util.concurrent

# Class ThreadPoolExecutor.CallerRunsPolicy

java.lang.Object
java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy

All Implemented Interfaces:
  `RejectedExecutionHandler`

Enclosing class:
  ThreadPoolExecutor

public static class ThreadPoolExecutor.CallerRunsPolicy extends Object implements 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.

## 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 declared in class java.lang.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 `RejectedExecutionHandler`
Parameters:
  `r` - the runnable task requested to be executed
  `e` - the executor attempting to execute this task