ThreadLocal源碼的實現

 

分析一下ThreadLocal源碼的實現

 

JDK裏面的Thread類,內部有一個ThreadLocalMap內部類,代表了一個map,每個Thread線程對象自己內部就有一個核心的數據結構是map

 

這個map只能是某個線程自己內部可以使用的一份數據,是不是就是代表了線程本地的副本。一個Thread可以放多個ThreadLocal對應的本地變量副本

數據結構:

Thread {

      ThreadLocalMap {

            ThreadLocal(requestId): 1L,

            ThreadLocal(txid):1L

      }

}

requestId.get() -> Thread.ThreadLocalMap.get(requestId) -> 1L

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章