1. 程式人生 > >ThreadLocal 執行緒繫結的初識

ThreadLocal 執行緒繫結的初識

 

遇到多個執行緒訪問同一個變數時使用,類中靜態SimpleDateFormat格式化日期,在一個類中執行緒中使用格式化的類

 

的格式化方法,用執行緒繫結,來保證同一時間SimpleDateFormat只被一個執行緒使用,不造成因為多執行緒同時使用Sdf出現轉換異常的現象。

ThreadLocal不是用來解決共享資源的多執行緒訪問的問題, hreadLocal的set()方法設定到執行緒的ThreadLocal.ThreadLocalMap裡的是執行緒自己要儲存的物件,其他執行緒訪問不到。

結果就是多個執行緒訪問同一個變數,而這個變數會和執行緒繫結,其他執行緒的修改不會對該執行緒造成影響。

ThreadLocal<User>  users=new ThreadLocal<>();

這樣在不同執行緒中使用user就不會因執行緒造成錯誤。 

參考:

https://blog.csdn.net/wangzuojia001/article/details/54406063

https://www.cnblogs.com/dolphin0520/p/3920407.html