面試點:volatile和ThreadLocal解決了什麼問題:?

volatile:

  • 防止指令重排強制將修改值立即寫入主存,寫入時對已存在CPU的緩存行做無效處理。當運用該緩存是發現無效,則重新讀取主存。
 

ThreadLocal:

  • 是用於解決多線程共享類的成員變量,原理:在每個線程中都存有一個本地ThreadMap,相當於存了一個對象的副本,key爲threadlocal對象本身,value爲需要存儲的對象值,這樣各個線程之間對於某個成員變量都有自己的副本,不會衝突
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章