1. 程式人生 > >對synchronized鎖的理解

對synchronized鎖的理解

 public class MyObject {
 
     synchronized public void methodA() {
         //do something....
    }
}

在方法前加上synchronized是物件鎖,同一物件呼叫該方法互斥

 public class MyObject {
 
    static synchronized public void methodA() {
         //do something....
     }
}

在方法前加上static synchronized是類鎖,由該類建立的所有物件呼叫該方法都互斥,如果該類只有一個方法,則和在該類前加synchronized等同

 public synchronized class MyObject {
 
    public void methodA() {
         //do something....
     }
}