Synchronized 關鍵字中的類鎖 物件鎖

2021-08-17 04:54:43 字數 2943 閱讀 5094

1 未加 synchronized 關鍵字

兩線程以並行方式執行

2 在非 static 方法上加 synchronized 關鍵字

兩線程以序列方式執行

3 在非 static 方法的內部**塊加上 synchronized(this)

4 在 static 方法前加上 synchronized 關鍵字

5 synchronized (testclass_1.class) static 方法

6 synchronized (testclass_1.class) 非 static 方法

synchronized關鍵字解析

一 修飾方法 1.修飾普通方法 對呼叫此方法的物件加鎖 2.修飾static方法 對呼叫此方法的類的所有物件加鎖 3.不能修飾構造方法,但是可以在構造方法內部修飾 塊 二 修飾 塊 1.synchronized this 相當於修飾普通方法 2.synchronized a.class 相當於修飾s...

解讀synchronized關鍵字

size large 最近在寫多執行緒程式,網上收集總結了synchronized的用法,結果如下 size 1 synchronized關鍵字的作用域有二種 1 是某個物件例項內,synchronized amethod 可以防止多個執行緒同時訪問這個物件的synchronized方法 如果乙個物...

synchronized 關鍵字分析

synchronized是典型的可衝入鎖,jdk1.5之後做了較大的優化 如圖,synchronized可以用在方法上也可以使用在 塊中,其中方法是例項方法和靜態方法分別鎖的是該類的例項物件和該類的物件。而使用在 塊中也可以分為三種,具體的可以看上面的 這裡的需要注意的是 如果鎖的是類物件的話,儘管...