Java プラットフォーム 1.2

java.lang
クラス InheritableThreadLocal

java.lang.Object
  |
  +--java.lang.ThreadLocal
        |
        +--java.lang.InheritableThreadLocal

public class InheritableThreadLocal
extends ThreadLocal

このクラスは、親スレッドから子スレッドへの値の継承を提供するために、ThreadLocal を拡張します。子スレッドの作成時に、子は親が持つ InheritableThreadLocal の初期値をすべて受け取ります。通常、子の値は親の値と同じです。しかし、このクラスの childValue メソッドをオーバーライドすれば、子の値を親の値に対する任意の関数にすることができます。

変数として保持されるスレッドごとの属性 (ユーザ ID、トランザクション ID など) を、作成されるすべての子スレッドに自動的に転送する必要がある場合には、InheritableThreadLocal 変数が通常の ThreadLocal 変数よりも優先的に使われます。

導入されたバージョン:
JDK1.2
関連項目:
ThreadLocal

コンストラクタの概要
InheritableThreadLocal()
          InheritableThreadLocal 変数を作成します。
 
メソッドの概要
protected  Object childValue(Object parentValue)
          子の InheritableThreadLocal の初期値を、子スレッドの作成時に親の値に対する関数として計算します。
 
クラス java.lang.ThreadLocal から継承したメソッド
get, initialValue, set
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InheritableThreadLocal

public InheritableThreadLocal()
InheritableThreadLocal 変数を作成します。
メソッドの詳細

childValue

protected Object childValue(Object parentValue)
子の InheritableThreadLocal の初期値を、子スレッドの作成時に親の値に対する関数として計算します。このメソッドは、子が開始される前に親スレッドの中から呼び出されます。

このメソッドは入力引数を返すだけなので、異なる動作が必要な場合にはオーバーライドしてください。


Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.