ThreadPoolExecutor.CallerRunsPolicy

  • ThreadPoolExecutor.CallerRunsPolicy is a handler for rejected tasks that runs the rejected task directly in the calling thread.

  • If the executor has been shut down, the task is discarded instead of being executed.

  • It provides a simple way to handle task rejection by executing the task in the thread that submitted it.

  • This policy can be useful for throttling the submission rate when the executor is overloaded.

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.

Public Constructor Summary

CallerRunsPolicy()
Creates a CallerRunsPolicy.

Public Method Summary

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.

Inherited Method Summary

Public Constructors

public CallerRunsPolicy ()

Creates a CallerRunsPolicy.

Public Methods

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.

Parameters
r the runnable task requested to be executed
e the executor attempting to execute this task