threadlocal 變量 跟synchronized 關鍵字的關係

爲什麼叫threadloca變量呢,經過大量的查資料發現threadlocal並不是之前理解的控制線程用的東西,它其實也屬於一類變量,只不過是線程的局部變量,它的作用就是實現線程間對該變量的唯一線程調用,我認爲這類似於對一個普通共享資源變量加synchronized,不過通常用到threadlocal的地方總是一類共享資源,通過threadlocal的修飾之後,這類變量(像線程池連接,事務這類型的變量)在同一時刻只能被單一的線程訪問。這就像synchronized 修飾過的代碼塊一樣,不過換成了變量,也相當於在初始化變量的時候用synchronized修飾下(應該就是在給變量賦值的時候加上synchronized修飾)。

threadlocal的作用就是實現線程間線程變量的安全。

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