シナリオ分析を使用した原則でJavaのThreadLocal

今日では、あなたとJavaのThreadLocalの原則の分析と使用のシナリオにおける知識の共有。

シナリオ分析を利用して、原則として1のJavaのThreadLocal

ThreadLocal変数のどのようなものです
ThreadLoal変数、スレッドローカル変数、ThreadLocalを持つオブジェクトが含まれ、彼らは別のスレッドで別のコピーを持っています。ここで注意すべきいくつかのポイントは以下のとおりです。

独自のスレッドの各インスタンスのコピー、およびコピーのため、現在のスレッドのみで使用することができます。これはThreadLocalのは、にちなんで命名されたもです。

各インスタンスはスレッド、スレッドや他のアクセスできないの独自のコピーを持っているので、それは複数のスレッド間で共有されますが問題ありません。

ThreadLocalのは、スレッドローカルインスタンスを提供します。これは、各スレッドがコピーの完全に独立したインスタンスの初期化変数を使用することは通常の変数とは異なります。ThreadLocalの変数は、通常、プライベート静的に変更されます。スレッドの終了時に、それが使用するThreadLocalの相対的コピーのすべてのインスタンスを再利用することができます。

一般に、ThreadLocalのは、それ自身の別のインスタンスを必要とインスタンスは、複数の方法で使用されるように、スレッド間のシーンクラス共用で、すなわち変数間の分離方法の各スレッドに適用されます。

原則ThreadLocalの
最初のThreadLocalのオブジェクトの許容可能な任意の型を確保するために、一般的なクラスです。

彼らは実際に内部にThreadLocalあるので、スレッド内の複数のThreadLocalオブジェクトが存在する可能性があるため地図、HashMapのこの地図は、直接使用されていませんが、ThreadLocalの静的内部クラスはThreadLocalMapの実装を呼ばを維持しています。

そして、我々は、get()は使用して、セット()メソッドは、実際にこのThreadLocalMapクラス対応のget()、set()メソッドを呼び出します。
setメソッド:

pu

おすすめ

転載: blog.csdn.net/weixin_45794138/article/details/104858983