主要涉及到ThreadLocal中get和set方法,我們仔細看這個兩個方法源碼先從set方法上圖
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TN2czM0UTN0EzMyYDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
其中threadLocalMap就是一個hash Map,但是這個map是針對于ThreadLocal的,我們直接看這個方法是如進行createMap<t,value>我們直接看源碼
傳回一個ThreadLocalMap,同時給
進行指派,這樣就存在一個目前thread的threadLocalMap。
我覺得源碼這個threadLocal不是線程共享,而是存放每個線程東西,互不影響的
主要涉及到ThreadLocal中get和set方法,我們仔細看這個兩個方法源碼先從set方法上圖
其中threadLocalMap就是一個hash Map,但是這個map是針對于ThreadLocal的,我們直接看這個方法是如進行createMap<t,value>我們直接看源碼
傳回一個ThreadLocalMap,同時給
進行指派,這樣就存在一個目前thread的threadLocalMap。
我覺得源碼這個threadLocal不是線程共享,而是存放每個線程東西,互不影響的