1.アイデア
-
ThreadLocalのは何ですか?
名前はスレッドローカル変数を示唆するようにThreadLocalクラスが理解することができます。これはThreadLocalをの定義は、このスレッドで読み書きするにThreadLocal各スレッドが互いに分離されている場合は影響しないことを意味します。これは、クローズドシステムを実現するために、各スレッドは、スレッドの独自の独立したコピーを持つ変数のデータを提供します。 -
それはどのように達成するかの一般的な考えですか?
スレッドクラスは、各スレッドが独自ThreadLocalMapを有することを意味型ThreadLocal.ThreadLocalMapのthreadLocalsのインスタンス変数を有します。ThreadLocalMapはThreadLocalの、値がコード値に配置されるように、そのキーの独自の独立した実装は単に(実際にキー自体THREADLOCALではないが、その弱参照)で処理することができています。ThreadLocalの値に詰めたときに各スレッドは、存在して彼らのThreadLocalMapに行くが、また、ThreadLocalのスレッドの分離を実現するためには、そのキーに対応するマップを見つけるために、参考としてお読みになります。
2.グラフィック
2.1場所
2.2構造図。
2.3ソースダイアグラム
図2.4メモリ
参考サイト
- ThreadLocal-デプスインタビューは解決することが求められます
- Javaソースコード本物解決する - ThreadLocalの原則
- [Javaは]同時調査5にThreadLocalを示しています
- ThreadLocalのを完全に理解
- ThreadLocalの元通訳
- (JDK1.8に基づく)は、JavaのThreadLocalソースのサイケ話
- Javaのインタビュー聞いてきます、ThreadLocalの最終章
- 2019/03インタビューの質問 - ベースの同時実行
- ThreadLocalのの深い理解(これらは無視すべきではありません)
- https://www.iteye.com/topic/1123824