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