ThreadPoolExecutor.CallerRunsPolicy (Apache Tomcat 9.0.120 API Documentation)
Description: declaration: package: org.apache.tomcat.util.threads, class: ThreadPoolExecutor, class: CallerRunsPolicy

# 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