# Uses of Interface
org.apache.commons.lang3.concurrent.ConcurrentInitializer

Packages that use ConcurrentInitializer
Package
Description
org.apache.commons.lang3.concurrent
Provides support classes for multi-threaded programming.

- ## Uses of ConcurrentInitializer in org.apache.commons.lang3.concurrent

  Classes in org.apache.commons.lang3.concurrent that implement ConcurrentInitializer
  Modifier and Type
  Class
  Description
  `class`
  `AbstractConcurrentInitializer<T, E extends Exception>`
  Abstracts and defines operations for `ConcurrentInitializer` implementations.
  `class`
  `AtomicInitializer<T>`
  A specialized implementation of the `ConcurrentInitializer` interface based on an `AtomicReference` variable.
  `class`
  `AtomicSafeInitializer<T>`
  A specialized `ConcurrentInitializer` implementation which is similar to `AtomicInitializer`, but ensures that the `AbstractConcurrentInitializer.initialize()` method is called only once.
  `class`
  `BackgroundInitializer<T>`
  A class that allows complex initialization operations in a background task.
  `class`
  `CallableBackgroundInitializer<T>`
  A specialized `BackgroundInitializer` implementation that wraps a `Callable` object.
  `class`
  `ConstantInitializer<T>`
  A very simple implementation of the `ConcurrentInitializer` interface which always returns the same object.
  `class`
  `LazyInitializer<T>`
  This class provides a generic implementation of the lazy initialization pattern.
  `class`
  `MultiBackgroundInitializer`
  A specialized `BackgroundInitializer` implementation that can deal with multiple background initialization tasks.
  Methods in org.apache.commons.lang3.concurrent with parameters of type ConcurrentInitializer
  Modifier and Type
  Method
  Description
  `static <K,V> V`
  ConcurrentUtils.`createIfAbsent(ConcurrentMap<K,V> map, K key, ConcurrentInitializer<V> init)`
  Checks if a concurrent map contains a key and creates a corresponding value if not.
  `static <K,V> V`
  ConcurrentUtils.`createIfAbsentUnchecked(ConcurrentMap<K,V> map, K key, ConcurrentInitializer<V> init)`
  Checks if a concurrent map contains a key and creates a corresponding value if not, suppressing checked exceptions.
  `static <T> T`
  ConcurrentUtils.`initialize(ConcurrentInitializer<T> initializer)`
  Invokes the specified `ConcurrentInitializer` and returns the object produced by the initializer.
  `static <T> T`
  ConcurrentUtils.`initializeUnchecked(ConcurrentInitializer<T> initializer)`
  Invokes the specified `ConcurrentInitializer` and transforms occurring exceptions to runtime exceptions.