# Package org.apache.commons.lang3.concurrent

Provides support classes for multi-threaded programming.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ConcurrentInitializer<T> | Definition of an interface for the thread-safe initialization of objects.

- Class Summary
  Class | Description
  --- | ---
  AtomicInitializer<T> | A specialized implementation of the `ConcurrentInitializer` interface based on an `AtomicReference` variable.
  AtomicSafeInitializer<T> | A specialized `ConcurrentInitializer` implementation which is similar to `AtomicInitializer`, but ensures that the `AtomicSafeInitializer.initialize()` method is called only once.
  BackgroundInitializer<T> | A class that allows complex initialization operations in a background task.
  BasicThreadFactory | An implementation of the `ThreadFactory` interface that provides some configuration options for the threads it creates.
  BasicThreadFactory.Builder | A builder class for creating instances of `BasicThreadFactory`.
  CallableBackgroundInitializer<T> | A specialized `BackgroundInitializer` implementation that wraps a `Callable` object.
  ConcurrentUtils | An utility class providing functionality related to the `java.util.concurrent` package.
  ConstantInitializer<T> | A very simple implementation of the `ConcurrentInitializer` interface which always returns the same object.
  LazyInitializer<T> | This class provides a generic implementation of the lazy initialization pattern.
  MultiBackgroundInitializer | A specialized `BackgroundInitializer` implementation that can deal with multiple background initialization tasks.
  MultiBackgroundInitializer.MultiBackgroundInitializerResults | A data class for storing the results of the background initialization performed by `MultiBackgroundInitializer`.
  TimedSemaphore | A specialized semaphore implementation that provides a number of permits in a given time frame.

- Exception Summary
  Exception | Description
  --- | ---
  ConcurrentException | An exception class used for reporting error conditions related to accessing data of background tasks.
  ConcurrentRuntimeException | An exception class used for reporting runtime error conditions related to accessing data of background tasks.

## Package org.apache.commons.lang3.concurrent Description

Provides support classes for multi-threaded programming. This package is intended to be an extension to `java.util.concurrent`.

These classes are thread-safe.

Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.