什么是ThreadLocal

  ThreadLocal一般稱為線程本地變量,它是一種特殊的線程綁定機(jī)制,將變量與線程綁定在一起,為每一個(gè)線程維護(hù)一個(gè)獨(dú)立的變量副本。通過(guò)ThreadLocal可以將對(duì)象的可見(jiàn)范圍限制在同一個(gè)線程內(nèi)。

跳出誤區(qū)

  需要重點(diǎn)強(qiáng)調(diào)的的是,不要拿ThreadLocal和synchronized做類比,因?yàn)檫@種比較壓根就是無(wú)意義的!sysnchronized是一種互斥同步機(jī)制,是為了保證在多線程環(huán)境下對(duì)于共享資源的正確訪問(wèn)。而ThreadLocal從本質(zhì)上講,無(wú)非是提供了一個(gè)“線程級(jí)”變量作用域,它是一種線程封閉(每個(gè)線程獨(dú)享變量)技術(shù),更直白點(diǎn)講,ThreadLocal可以理解為將對(duì)象的作用范圍限制在一個(gè)線程上下文中,使得變量的作用域?yàn)椤?strong style="margin: 0px; padding: 0px;">線程級(jí)”。

網(wǎng)友評(píng)論