什么是ThreadLocal
ThreadLocal一般稱為線程本地變量,它是一種特殊的線程綁定機制,將變量與線程綁定在一起,為每一個線程維護一個獨立的變量副本。通過ThreadLocal可以將對象的可見范圍限制在同一個線程內(nèi)。
跳出誤區(qū)
需要重點強調(diào)的的是,不要拿ThreadLocal和synchronized做類比,因為這種比較壓根就是無意義的!sysnchronized是一種互斥同步機制,是為了保證在多線程環(huán)境下對于共享資源的正確訪問。而ThreadLocal從本質(zhì)上講,無非是提供了一個“線程級”的變量作用域,它是一種線程封閉(每個線程獨享變量)技術,更直白點講,ThreadLocal可以理解為將對象的作用范圍限制在一個線程上下文中,使得變量的作用域為“線程級”。