java中synchronized修飾靜態方法和非靜態方法有什麼區別?

Synchronized修飾非靜態方法 Synchronized修飾非靜態方法,實際上是對調用該方法的對象加鎖,俗稱「對象鎖」。 Java中每個對象都有一個鎖,並且是唯一的。假設分配的一個對象空間,裏面有多個方法,相當於空間裏面有多個小房間,如果我們把所有的小房間都加鎖,因爲這個對象只有一把鑰匙,因此同一時間只能有一個人打開一個小房間,然後用完了還回去,再由JVM 去分配下一個獲得鑰匙的人。 情況
相關文章
相關標籤/搜索