1. 程式人生 > >ThreadLocal類使用說明

ThreadLocal類使用說明

bsp 同步 就是 conn 必須 使用場景 連接數據庫 宋體 val

ThreadLocal類用於創建一個線程本地變量 在Thread中有一個成員變量ThreadLocals,該變量的類型是ThreadLocalMap,也就是一個Map,它的鍵是threadLocal,值為就是變量的副本。通過ThreadLocal的get()方法可以獲取該線程變量的本地副本,在get方法之前要先set,否則就要重寫initialValue()方法。 ThreadLocal的使用場景: 數據庫連接:在多線程中,如果使用懶漢式的單例模式創建Connection對象,由於該對象是共享的,那麽必須要使用同步方法保證線程安全,這樣當一個線程在連接數據庫時,那麽另外一個線程只能等待。這樣就造成性能降低。如果改為哪裏要連接數據庫就來進行連接,那麽就會頻繁的對數據庫進行連接,性能還是不高。這時使用ThreadLocal
就可以既可以保證線程安全又可以讓性能不會太低。但是ThreadLocal的缺點時占用了較多的空間。

ThreadLocal類使用說明