# 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()`

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

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