# Hierarchy For Package com.google.common.util.concurrent

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - com.google.common.util.concurrent.AbstractExecutionThreadService (implements com.google.common.util.concurrent.Service)
  - java.util.concurrent.AbstractExecutorService (implements java.util.concurrent.ExecutorService)
    - com.google.common.util.concurrent.AbstractListeningExecutorService (implements com.google.common.util.concurrent.ListeningExecutorService)
  - com.google.common.util.concurrent.AbstractFuture<V> (implements com.google.common.util.concurrent.ListenableFuture<V>)
    - com.google.common.util.concurrent.SettableFuture<V>
  - com.google.common.util.concurrent.AbstractIdleService (implements com.google.common.util.concurrent.Service)
  - com.google.common.util.concurrent.AbstractScheduledService (implements com.google.common.util.concurrent.Service)
  - com.google.common.util.concurrent.AbstractScheduledService.CustomScheduler.Schedule
  - com.google.common.util.concurrent.AbstractScheduledService.Scheduler
    - com.google.common.util.concurrent.AbstractScheduledService.CustomScheduler
  - com.google.common.util.concurrent.AbstractService (implements com.google.common.util.concurrent.Service)
  - com.google.common.util.concurrent.AtomicDoubleArray (implements java.io.Serializable)
  - com.google.common.util.concurrent.AtomicLongMap<K>
  - com.google.common.util.concurrent.Atomics
  - com.google.common.util.concurrent.Callables
  - com.google.common.util.concurrent.CycleDetectingLockFactory
    - com.google.common.util.concurrent.CycleDetectingLockFactory.WithExplicitOrdering<E>
  - com.google.common.util.concurrent.ExecutionList
  - com.google.common.util.concurrent.FakeTimeLimiter (implements com.google.common.util.concurrent.TimeLimiter)
  - com.google.common.collect.ForwardingObject
    - com.google.common.collect.ForwardingCollection<E> (implements java.util.Collection<E>)
      - com.google.common.collect.ForwardingQueue<E> (implements java.util.Queue<E>)
        - com.google.common.util.concurrent.ForwardingBlockingQueue<E> (implements java.util.concurrent.BlockingQueue<E>)
    - com.google.common.util.concurrent.ForwardingExecutorService (implements java.util.concurrent.ExecutorService)
      - com.google.common.util.concurrent.ForwardingListeningExecutorService (implements com.google.common.util.concurrent.ListeningExecutorService)
    - com.google.common.util.concurrent.ForwardingFuture<V> (implements java.util.concurrent.Future<V>)
      - com.google.common.util.concurrent.ForwardingFuture.SimpleForwardingFuture<V>
      - com.google.common.util.concurrent.ForwardingListenableFuture<V> (implements com.google.common.util.concurrent.ListenableFuture<V>)
        - com.google.common.util.concurrent.ForwardingCheckedFuture<V,X> (implements com.google.common.util.concurrent.CheckedFuture<V,X>)
          - com.google.common.util.concurrent.ForwardingCheckedFuture.SimpleForwardingCheckedFuture<V,X>
        - com.google.common.util.concurrent.ForwardingListenableFuture.SimpleForwardingListenableFuture<V>
          - com.google.common.util.concurrent.AbstractCheckedFuture<V,X> (implements com.google.common.util.concurrent.CheckedFuture<V,X>)
  - com.google.common.util.concurrent.Futures
  - java.util.concurrent.FutureTask<V> (implements java.util.concurrent.RunnableFuture<V>)
    - com.google.common.util.concurrent.ListenableFutureTask<V> (implements com.google.common.util.concurrent.ListenableFuture<V>)
  - com.google.common.util.concurrent.JdkFutureAdapters
  - com.google.common.util.concurrent.Monitor
  - com.google.common.util.concurrent.Monitor.Guard
  - com.google.common.util.concurrent.MoreExecutors
  - java.lang.Number (implements java.io.Serializable)
    - com.google.common.util.concurrent.AtomicDouble (implements java.io.Serializable)
  - com.google.common.util.concurrent.RateLimiter
  - com.google.common.util.concurrent.Runnables
  - com.google.common.util.concurrent.Service.Listener
  - com.google.common.util.concurrent.ServiceManager
  - com.google.common.util.concurrent.ServiceManager.Listener
  - com.google.common.util.concurrent.SimpleTimeLimiter (implements com.google.common.util.concurrent.TimeLimiter)
  - com.google.common.util.concurrent.Striped<L>
  - com.google.common.util.concurrent.ThreadFactoryBuilder
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - com.google.common.util.concurrent.ExecutionError
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.IllegalStateException
          - com.google.common.util.concurrent.CycleDetectingLockFactory.PotentialDeadlockException
        - com.google.common.util.concurrent.UncheckedExecutionException
        - com.google.common.util.concurrent.UncheckedTimeoutException
  - com.google.common.util.concurrent.UncaughtExceptionHandlers
  - com.google.common.util.concurrent.Uninterruptibles

## Interface Hierarchy

- com.google.common.util.concurrent.AsyncFunction<I,O>
- java.lang.Comparable<T>
  - java.util.concurrent.Delayed
    - java.util.concurrent.ScheduledFuture<V> (also extends java.util.concurrent.Future<V>)
      - com.google.common.util.concurrent.ListenableScheduledFuture<V> (also extends com.google.common.util.concurrent.ListenableFuture<V>)
- com.google.common.util.concurrent.CycleDetectingLockFactory.Policy
- java.util.concurrent.Executor
  - java.util.concurrent.ExecutorService
    - com.google.common.util.concurrent.ListeningExecutorService
      - com.google.common.util.concurrent.ListeningScheduledExecutorService (also extends java.util.concurrent.ScheduledExecutorService)
    - java.util.concurrent.ScheduledExecutorService
      - com.google.common.util.concurrent.ListeningScheduledExecutorService (also extends com.google.common.util.concurrent.ListeningExecutorService)
- java.util.concurrent.Future<V>
  - com.google.common.util.concurrent.ListenableFuture<V>
    - com.google.common.util.concurrent.CheckedFuture<V,X>
    - com.google.common.util.concurrent.ListenableScheduledFuture<V> (also extends java.util.concurrent.ScheduledFuture<V>)
  - java.util.concurrent.ScheduledFuture<V> (also extends java.util.concurrent.Delayed)
    - com.google.common.util.concurrent.ListenableScheduledFuture<V> (also extends com.google.common.util.concurrent.ListenableFuture<V>)
- com.google.common.util.concurrent.FutureCallback<V>
- com.google.common.util.concurrent.FutureFallback<V>
- com.google.common.util.concurrent.Service
- com.google.common.util.concurrent.TimeLimiter

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.google.common.util.concurrent.CycleDetectingLockFactory.Policies (implements com.google.common.util.concurrent.CycleDetectingLockFactory.Policy)
    - com.google.common.util.concurrent.Service.State