天天看點

簡單介紹synchronized底層原理synchronized加鎖方式synchronized的原理

synchronized加鎖方式

大緻三種

鎖對象

鎖this指針,目前對象

鎖類.class

synchronized的原理

底層主要是有monitor對象,擷取鎖時判斷标志位是否為0,為0則進入臨界區對應的指令monitorenter,

獲得鎖後标志位改為1,其它線程擷取鎖發現标志位1,進入阻塞狀态,直到臨界區線程出來是标志位-1變為0對應的指令monitorexit