一、了解ThreadLocal
ThreadLocal主要應對的是多線程訪問同一個共享變量的時候容易出現並發問題,特別是多個線程對一個變量進行寫入的時候,為了保證線程安全,一般使用者在訪問共享變量的時候需要進行額外的同步措施才能保證線程安全性。
ThreadLocal是除了加鎖這種同步方式之外的一種保證一種規避多線程訪問出現線程不安全的方法,當我們在創建一個變量后,如果每個線程對其進行訪問的時候訪問的都是線程自己的變量這樣就不會存在線程不安全問題。
ThreadLocal是JDK包提供的,它提供線程本地變量,如果創建一樂ThreadLocal變量,那么訪問這個變量的每個線程都會有這個變量的一個副本,在實際多線程操作的時候,操作的是自己本地內存中的變量,從而規避了線程安全問題,如下圖所示
二、使用場景
這邊舉例本人用到的場景。對於用戶登錄、不同的用戶需要記錄
存入的方式
然后調用方式
參考地址:https://www.cnblogs.com/fsmly/p/11020641.html