1、get () と set () メソッド
-
get()
-
set()
ここで、両方のメソッドが getMap メソッドを使用して ThreadLocalMap オブジェクトを取得していることがわかります。したがって、おそらくこのメソッドが InheritableThreadLocal が親スレッドの値を取得できるようにしているのだと推測できます。
2、getMap () メソッド
次に、InheritableThreadLocal と ThreadLocal の getMap () メソッドの違いを比較します。
-
InheritableThreadLocal
-
ThreadLocal
inheritableThreadLocals を取得するものと、threadLocals を取得するものがあることがわかります。inheritableThreadLocals は子スレッドに継承されるため、子スレッドはこのオブジェクトを使用して親スレッドの threadLocal 値にアクセスできます(スレッド間の共有変数として機能します)。