ThreadLocal是什麼?怎麼用?

2021-09-25 02:38:06 字數 1030 閱讀 1986

threadlocal用於儲存某個執行緒共享變數:對於同乙個static threadlocal,不同執行緒只能從中get,set,remove自己的變數,而不會影響其他執行緒的變數。

簡單的使用()

public class threadlocaltest
public class mytest extends thread

@override

public void run() }}

public class testmain 

}

執行結果

可以看出,同乙個object的某乙個變數在不同執行緒中仍然是共享的,如果我們想要同乙個object的某些變數在不同的執行緒中分別有不同的值,那麼就需要用到threadlocal了

public class threadlocaltest};}

thread類中

public class mytest extends thread

@override

public void run() }}

main函式不變:執行

可以看出每個執行緒中的num都是自己去維護值的

所以這樣就更好理解threadlocal的作用了吧

get()    返回當前執行緒的此執行緒區域性變數的副本中的值。

set(t value)    將當前執行緒的此執行緒區域性變數的副本設定為指定的值

remove()    刪除此執行緒區域性變數的當前執行緒的值。

initialvalue()    裡面return預設的值,

ThreadLocal 是什麼?有哪些使用場景?

threadlocal 是執行緒本地儲存,在每個執行緒中都建立了乙個 threadlocalmap 物件,每個執行緒可以訪問自己內部 threadlocalmap 物件內的 value。經典的使用場景是為每個執行緒分配乙個 jdbc 連線 connection。這樣就可以保證每個執行緒的都在各自的 ...

DDOS是什麼 DDOS攻擊方式有哪些該怎麼防範?

ddos是什麼 ddos攻擊方式有哪些該怎麼防範?ddos攻擊是distributed denial of service的縮寫,即不法黑客組織通過控 務器等資源,發動對包括國家骨幹網路 重要網路設施 政企或個人 在內的網際網路上任一目標的攻擊,致使目標伺服器斷網,最終停止提供服務。打個比方,兩家相...

cdn連線失敗是什麼意思 cdn連線失敗,怎麼解決

simplifieddisplay new infocard newcard card search infocard bannerurl title visual datalist scenecard txt page context simplifieddisplay new infocard ...