threadlocallocal = new threadlocal<>();1. local.set() 首先是獲取到當前執行緒 tnew thread(()->).start();
new thread(()->).start();
2. 然後獲取到這個執行緒的 threadlocalmap ,可以看到裡面是個類似 map 的結構,然後 entry 本身是個陣列,也就是說差不多乙個 陣列 的登錄檔。
3. map.set(this,value) 就是把當先執行緒的引用作為 key ,以 鍵值對 的形式存到enrty中
也是獲取到當前執行緒後,根據與運算計算出 當前執行緒 在陣列的中的位置,在根據 key(也就是當前執行緒引用) 獲取到value。
ThreadLocal簡單了解
threadlocal,執行緒本地量。threadlocal為變數在每個執行緒都建立了乙個副本,那麼每個執行緒可以訪問自己內部的 副本變數。threadlocal的具體實現 public t get public void set t valude public void remove protec...
ThreadLocal用法簡單示例
package com.learn.test author liuqi date 2020 3 4 23 23 desc 注 threadlocal和synchronized 相比前乙個以空間取代時間,每個訪問同乙個變數的執行緒都擁有該變數的乙個副本 後乙個以時間代替空間,多個執行緒訪問會進行排隊 ...
超簡單的筆記
finally一定會在return之前執行,如果finally使用了return或者throw語句,將會使try catch中的return或者throw失效。final修飾的引用型變數,不能再指向別的東西,但是可以改變其中的內容 同步機制是為了共享資源以及執行緒通訊,可以利用synchronize...