亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThreadLocal的類結構有哪些

發布時間:2021-12-14 15:51:06 來源:億速云 閱讀:166 作者:iii 欄目:大數據

這篇文章主要介紹“ThreadLocal的類結構有哪些”,在日常操作中,相信很多人在ThreadLocal的類結構有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ThreadLocal的類結構有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是ThreadLocal

可以理解成線程本地變量,傳統的線程對一個變量操作時操作的是同一個對象,也存在線程安全的問題。

ThreadLocal是一個變量的本地副本,線程對變量的操作不會影響其他線程。

首先看看ThreadLocal的類結構

ThreadLocal的類結構有哪些

其中可重寫的方法有以下幾個

ThreadLocal的類結構有哪些

initialValue():ThreadLocal初始化的值,新建ThreadLocal的一般要重寫給個初始的值。

get():獲取當前線程變量的副本值。

set(T value):設置、更新當前線程上的變量副本值。

remove():移除當前線程上的變量副本。

ThreadLocal使用

新建ThreadLocal,類型為User,并初始化為tom,12歲,啟動3個線程,每個線程循環3次,休眠1少,主線程再輸出。

ThreadLocal的類結構有哪些

輸出結果如下

ThreadLocal的類結構有哪些

從結果可見每個線程使用的是各自線程的變量副本,并沒有影響其他線程和主線程,實現了線程隔離的效果。

使用場景

一般用來解決數據庫連接、用戶session管理等。

內存泄露問題

如果線程的執行周期過長可能導致內存泄露的風險,雖然線程執行完后會ThreadLocal也會隨著銷毀,但最好使用完后加上remove這樣會加快內存的釋放,一般來說線程周期不長是不太會引起內存泄露的。還有如果定義了ThreadLocal又不用也有問題,因為每次ThreadLocal的get/set/remove操作都會清理無效的key加快內存釋放。ThreadLocal應用比較廣泛,如果不是濫用,利是大于憋的。

到此,關于“ThreadLocal的類結構有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常熟市| 南投市| 区。| 综艺| 始兴县| 鸡东县| 德格县| 乌兰察布市| 翁牛特旗| 安乡县| 龙泉市| 都江堰市| 高雄县| 洪泽县| 周口市| 天柱县| 怀柔区| 利辛县| 泗阳县| 温州市| 兴国县| 江源县| 新巴尔虎右旗| 舞钢市| 全南县| 石狮市| 宁夏| 和林格尔县| 宝应县| 哈密市| 信阳市| 灯塔市| 东莞市| 广宗县| 隆安县| 巴林左旗| 宜宾县| 浙江省| 汶川县| 鸡东县| 昌宁县|