關(guān)于對ThreadLocal變量的理解,我今天查看一下午的博客,自己也寫了demo來測試來看自己的理解到底是不是那么回事。從看到博客引出不解,到仔細(xì)查看ThreadLocal源碼(JDK1.8),我覺得我很有必要記錄下來我這大半天的收獲,
今天我研究的最多的就是這兩篇文章說理解。我在這里暫稱為A文章和B文章。以下是兩篇博文地址,我是在看完A文章后,很有疑問,特別是在A文章后的各位網(wǎng)頁的評論中,更加堅(jiān)定我要弄清楚ThreadLocal到底是怎么一回事。
A文章:http://blog.csdn.net/lufeng20/article/details/24314381
B文章:http://www.cnblogs.com/dolphin0520/p/3920407.html

首先,我們從字面上的意思來理解ThreadLocal,Thread:線程,這個毫無疑問。那Local呢?本地的,局部的。也就是說,ThreadLocal是線程本地的變量,只要是本線程內(nèi)都可以使用,線程結(jié)束了,那么相應(yīng)的線程本地變量也就跟隨著線程消失了。

以下內(nèi)容是個人參考他人文章,理解總結(jié)出來,偏差之處,歡迎指正。

全篇包括兩個部分,我希望大家對ThreadLocal源碼已經(jīng)有一定了解,我在文章中沒有具體分析源碼:

第一部分是說明ThreadLocal不是用來做變量共享的。

第二部分是深入了解ThreadLocal后得到的結(jié)論,談?wù)勈裁辞闆r用ThreadLocal,以及用ThreadLocal有什么好處。

一、ThreadLocal不是用來解決多線程下訪問共享變量問題的

網(wǎng)友評論