# Hierarchy For Package org.apache.commons.lang3.concurrent

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.apache.commons.lang3.concurrent.AbstractCircuitBreaker<T> (implements org.apache.commons.lang3.concurrent.CircuitBreaker<T>)
    - org.apache.commons.lang3.concurrent.EventCountCircuitBreaker
    - org.apache.commons.lang3.concurrent.ThresholdCircuitBreaker
  - org.apache.commons.lang3.concurrent.AbstractConcurrentInitializer<T,E> (implements org.apache.commons.lang3.concurrent.ConcurrentInitializer<T>)
    - org.apache.commons.lang3.concurrent.AtomicInitializer<T>
    - org.apache.commons.lang3.concurrent.AtomicSafeInitializer<T>
    - org.apache.commons.lang3.concurrent.BackgroundInitializer<T>
      - org.apache.commons.lang3.concurrent.CallableBackgroundInitializer<T>
      - org.apache.commons.lang3.concurrent.MultiBackgroundInitializer
    - org.apache.commons.lang3.concurrent.LazyInitializer<T>
  - org.apache.commons.lang3.concurrent.AbstractFutureProxy<V> (implements java.util.concurrent.Future<V>)
  - org.apache.commons.lang3.builder.AbstractSupplier<T,B,E> (implements org.apache.commons.lang3.function.FailableSupplier<T,E>)
    - org.apache.commons.lang3.concurrent.AbstractConcurrentInitializer.AbstractBuilder<I,T,B,E>
      - org.apache.commons.lang3.concurrent.AtomicInitializer.Builder<I,T>
      - org.apache.commons.lang3.concurrent.AtomicSafeInitializer.Builder<I,T>
      - org.apache.commons.lang3.concurrent.BackgroundInitializer.Builder<I,T>
      - org.apache.commons.lang3.concurrent.LazyInitializer.Builder<I,T>
  - org.apache.commons.lang3.concurrent.BasicThreadFactory (implements java.util.concurrent.ThreadFactory)
  - org.apache.commons.lang3.concurrent.BasicThreadFactory.Builder (implements org.apache.commons.lang3.builder.Builder<T>)
  - org.apache.commons.lang3.concurrent.ConcurrentUtils
  - org.apache.commons.lang3.concurrent.ConstantInitializer<T> (implements org.apache.commons.lang3.concurrent.ConcurrentInitializer<T>)
  - org.apache.commons.lang3.concurrent.FutureTasks
  - org.apache.commons.lang3.concurrent.Memoizer<I,O> (implements org.apache.commons.lang3.concurrent.Computable<I,O>)
  - org.apache.commons.lang3.concurrent.MultiBackgroundInitializer.MultiBackgroundInitializerResults
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.apache.commons.lang3.concurrent.ConcurrentException
      - java.lang.RuntimeException
        - org.apache.commons.lang3.concurrent.CircuitBreakingException
        - org.apache.commons.lang3.concurrent.ConcurrentRuntimeException
        - org.apache.commons.lang3.exception.UncheckedException
          - org.apache.commons.lang3.concurrent.UncheckedExecutionException
          - org.apache.commons.lang3.concurrent.UncheckedTimeoutException
  - org.apache.commons.lang3.concurrent.TimedSemaphore
  - org.apache.commons.lang3.concurrent.TimedSemaphore.Builder (implements java.util.function.Supplier<T>)

## Interface Hierarchy

- org.apache.commons.lang3.concurrent.CircuitBreaker<T>
- org.apache.commons.lang3.concurrent.Computable<I,O>
- org.apache.commons.lang3.function.FailableSupplier<T,E>
  - org.apache.commons.lang3.concurrent.ConcurrentInitializer<T>
- java.util.concurrent.Future<V>
  - org.apache.commons.lang3.concurrent.UncheckedFuture<V>

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.commons.lang3.concurrent.AbstractCircuitBreaker.State