java.lang.Object
java.lang.ThreadLocal<T>
java.lang.InheritableThreadLocal<T>
- 型パラメータ:
- T- 継承可能なスレッドのローカル値の型
public class InheritableThreadLocal<T> extends ThreadLocal<T>
このクラスは、親スレッドから子スレッドへの値の継承を提供するために
ThreadLocalを拡張: 子スレッドが作成されると、子は、親に値が設定されているすべての継承可能なスレッド・ローカル変数の初期値を受け取ります。 通常、子の値は親の値と同じになりますが、このクラスのchildValueメソッドをオーバーライドすることで、子の値を親の任意の関数にすることができます。 
 変数として保持されるスレッドごとの属性(ユーザーID、トランザクションIDなど)を、作成されるすべての子スレッドに自動的に転送する必要がある場合には、継承可能なスレッド・ローカル変数が通常のスレッド・ローカル変数よりも優先的に使われます。
ノート: 新しいthreadの作成中に、継承可能なスレッド・ローカル変数の初期値をopt outが受け取ることができます。
- 導入されたバージョン:
- 1.2
- 関連項目:
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明protected TchildValue(T parentValue) この継承可能なスレッド・ローカル変数の初期値を、子スレッドの作成時に親の値に対する関数として計算します。クラスjava.lang.ThreadLocalで宣言されたメソッドget, initialValue, remove, set, withInitial
- 
コンストラクタの詳細- 
InheritableThreadLocalpublic InheritableThreadLocal()継承可能なスレッド・ローカル変数を作成します。
 
- 
- 
メソッドの詳細- 
childValueこの継承可能なスレッド・ローカル変数の初期値を、子スレッドの作成時に親の値に対する関数として計算します。 このメソッドは、子が開始される前に親スレッドの中から呼び出されます。このメソッドは入力引数を返すだけなので、異なる動作が必要な場合にはオーバーライドしてください。 - パラメータ:
- parentValue- 親のスレッドの値
- 戻り値:
- 子のスレッドの初期値
 
 
-