多線程下使用ThreadLocal保證線程安全

多線程下須要特別注意變量的線程安全問題,可使用ThreadLocal進行多線程下變量的隔離,保證各線程下變量互不影響。 ##ThreadLocal內部實現原理 輸入圖片說明安全

從JDK源碼中,能夠看出ThreadLocal內部使用ThreadLocalMap保存變量的。 輸入圖片說明 ThreadLocalMap來自由線程的內部屬性,其實就是每個線程Thread內部會有一個ThreadLocalMap用來保存本身線程的變量。 輸入圖片說明多線程

多線程的環境下,雖然是同一個ThreadLocal實例,可是存儲的ThreadLocalMap卻不是同一個,所以取出變量時,不會相互影響。 輸入圖片說明線程

相關文章
相關標籤/搜索