超簡單的ThreadLocal

2022-09-04 23:24:18 字數 531 閱讀 4564

threadlocallocal = new threadlocal<>();

new thread(()->).start();

new thread(()->).start();

1. local.set() 首先是獲取到當前執行緒 t

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...