synchronized加鎖方式
大緻三種
鎖對象
鎖this指針,目前對象
鎖類.class
synchronized的原理
底層主要是有monitor對象,擷取鎖時判斷标志位是否為0,為0則進入臨界區對應的指令monitorenter,
獲得鎖後标志位改為1,其它線程擷取鎖發現标志位1,進入阻塞狀态,直到臨界區線程出來是标志位-1變為0對應的指令monitorexit
大緻三種
鎖對象
鎖this指針,目前對象
鎖類.class
底層主要是有monitor對象,擷取鎖時判斷标志位是否為0,為0則進入臨界區對應的指令monitorenter,
獲得鎖後标志位改為1,其它線程擷取鎖發現标志位1,進入阻塞狀态,直到臨界區線程出來是标志位-1變為0對應的指令monitorexit