Package org.apache.tomcat.util.threads

## 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.

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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 java.lang.Object

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

- - ### Constructor Detail

    - #### CallerRunsPolicy

          public CallerRunsPolicy()

      Creates a `CallerRunsPolicy`.

  - ### Method Detail

    - #### 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