可能重複:
When and how should I use a ThreadLocal variable?當我們使用這個線程時,什麼是線程本地?
我知道線程局部是什麼。
1)線程本地必須聲明爲public static final。 2)Thread Local是當前線程的本地變量。
可能重複:
When and how should I use a ThreadLocal variable?當我們使用這個線程時,什麼是線程本地?
我知道線程局部是什麼。
1)線程本地必須聲明爲public static final。 2)Thread Local是當前線程的本地變量。
它並不需要公開
,但它本質上是一個地圖,而當該值尚未設置會自動初始化
你只能得到當前線程的關鍵和此實現線程本地存儲,所以你可以有「公共靜態」變量,而無需對它們進行同步
無法在報表發現的問題,但讓我試試:
1)線程本地必須聲明爲公共靜態決賽。
不是真的,其實ThreadLocal
可以是私有的,並不一定是static
並且可以是非決賽。不知道你在哪裏見過這樣的要求。
2)Thread Local是當前線程的局部變量。
正確。你可以想象,ThreadLocal
是一個map,key是一個線程,value是實際變量。但它以更好的方式實施。
一個ThreadLocal創建指定類型的單獨的實例(這是通用的)每個線程。你可以簡單地使用它的get()方法來訪問它。此方法將始終返回當前線程的值。