学习是最好的投资!
可以參考我的部落格
線程的同步之Synchronized的使用
線程的同步之Synchronized在單例模式的應用
這篇部落格 有解答。不過關於全域鎖的提法容易令人誤解。因為 sychoronized 是使用括号里的对象来上锁,而 String.class 不是String 類別的全部實例,而是一個對象,是一個類型為 Class 的對象,因此,如果你使用不同的這樣的 class 物件來同步,則得到的是不同的鎖。
sychoronized
String.class
可以參考我的部落格
線程的同步之Synchronized的使用
線程的同步之Synchronized在單例模式的應用
這篇部落格 有解答。不過關於全域鎖的提法容易令人誤解。因為
sychoronized
是使用括号里的对象来上锁,而String.class
不是String 類別的全部實例,而是一個對象,是一個類型為 Class 的對象,因此,如果你使用不同的這樣的 class 物件來同步,則得到的是不同的鎖。