Executor (Apache Tomcat 9.0.120 API Documentation)
Description: declaration: package: org.apache.catalina, interface: Executor

# Interface Executor

All Superinterfaces:
  `Executor, Lifecycle`

All Known Implementing Classes:
  `StandardThreadExecutor, StandardVirtualThreadExecutor`

public interface Executor extends Executor, Lifecycle

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Lifecycle

  `Lifecycle.SingleUse`

- ## Field Summary

  ### Fields inherited from interface Lifecycle

  `AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `execute(Runnable command, long timeout, TimeUnit unit)`
  Deprecated.
  Unused.
  `String`
  `getName()`
  Returns the name of this executor.

  ### Methods inherited from interface Executor

  `execute`

  ### Methods inherited from interface Lifecycle

  `addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop`

- ## Method Details

  - ### getName

    String getName()
    Returns the name of this executor.
    Returns:
      the executor name

  - ### execute

    @Deprecated void execute(Runnable command, long timeout, TimeUnit unit)
    Deprecated.
    Unused. Will be removed in Tomcat 10.1.x onwards.
    Executes the given command at some time in the future. The command may execute in a new thread, in a pooled thread, or in the calling thread, at the discretion of the `Executor` implementation. If no threads are available, it will be added to the work queue. If the work queue is full, the system will wait for the specified time until it throws a RejectedExecutionException
    Parameters:
      `command` - the runnable task
      `timeout` - the length of time to wait for the task to complete
      `unit` - the units in which timeout is expressed
    Throws:
      `RejectedExecutionException` - if this task cannot be accepted for execution - the queue is full
      `NullPointerException` - if command or unit is null