Package java.lang

Class InheritableThreadLocal<T>

java.lang.Object
java.lang.ThreadLocal<T>
java.lang.InheritableThreadLocal<T>

public class InheritableThreadLocal<T>
extends ThreadLocal<T>
A thread-local variable whose value is passed from parent to child thread. By default, the value of an inheritable thread-local variable of a child thread is initialized with the value of the parent thread's variable at thread creation time. However, subclasses may override {code #childValue(Object)} to provide an arbitrary function for passing the value of a parent's thread-local variable to the child's thread-local variable.
See Also:
Thread, ThreadLocal
  • Constructor Details

    • InheritableThreadLocal

      public InheritableThreadLocal()
      Creates a new inheritable thread-local variable.
  • Method Details

    • childValue

      protected T childValue​(T parentValue)
      Computes the initial value of this thread-local variable for the child thread given the parent thread's value. Called from the parent thread when creating a child thread. The default implementation returns the parent thread's value.
      Parameters:
      parentValue - the value of the variable in the parent thread.
      Returns:
      the initial value of the variable for the child thread.