ThreadPoolExecutor.CallerRunsPolicy (Java Platform SE 8 )
Keywords: java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy class
Date: 2026-03-16

compact1, compact2, compact3
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 and Description
    `CallerRunsPolicy()` Creates a `CallerRunsPolicy`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 `RejectedExecutionHandler`
      Parameters:
        `r` - the runnable task requested to be executed
        `e` - the executor attempting to execute this task

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.