Java中非static的synchronized方法和synchronized?
Java中非static的synchronized方法和synchronized(this)用的是一把鎖,這也說明非靜態方法中的synchronized(this)和synchronized關鍵字
是Java支持中同一把鎖。
在Java中,synchronized是用來表示同步的,既可以用synchronized來修飾一個方法,也可以修飾方法里的語句塊。
在static方法和非static方法前面加synchronized的區別在于
static的方法屬于類方法,它屬于Class類范疇,所以static獲取到的鎖,是屬于類的鎖。
非static方法獲取到的鎖,是屬于當前對象的鎖。
再回到問題它們是一把鎖,synchronized是針對一個臨界區的,臨界區指訪問這個地方最多只能在一個線程里面,
它在對象上加鎖后進入臨界區以此來達到臨界區串行訪問的目的。
希望可以幫到你!!!