# Package org.apache.tomcat.util.threads

Interface Summary
ResizableExecutor
ThreadPoolExecutor.RejectedExecutionHandler

Class Summary
Constants: Static constants for this package.
LimitLatch: Shared latch that allows the latch to be acquired a limited number of times after which all subsequent requests to acquire the latch will be placed in a FIFO queue until one of the shares is returned.
TaskQueue: As task queue specifically designed to run with a thread pool executor.
TaskThread: A Thread implementation that records the time at which it was created.
TaskThreadFactory: Simple task thread factory to use to create threads for an executor implementation.
ThreadPoolExecutor: An `ExecutorService` that executes each submitted task using one of possibly several pooled threads, normally configured using `Executors` factory methods.
ThreadPoolExecutor.AbortPolicy: A handler for rejected tasks that throws a `RejectedExecutionException`.
ThreadPoolExecutor.CallerRunsPolicy: 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.
ThreadPoolExecutor.DiscardOldestPolicy: A handler for rejected tasks that discards the oldest unhandled request and then retries `execute`, unless the executor is shut down, in which case the task is discarded.
ThreadPoolExecutor.DiscardPolicy: A handler for rejected tasks that silently discards the rejected task.
VirtualThreadExecutor: An executor that uses a new virtual thread for each task.

Exception Summary
StopPooledThreadException: A custom `RuntimeException` thrown by the `ThreadPoolExecutor` to signal that the thread should be disposed of.