当 Java 成员需要是线程安全的时,我们执行以下操作:
public synchronized void func() {
...
}
此语法等效于:
public void func() {
synchronized(this) {
....
}
}
也就是说,它实际上this
用于锁。
我的问题是,如果我使用synchronized
一种static
方法,如下所示:
class AA {
private AA() {}
public static synchronized AA getInstance() {
static AA obj = new AA();
return obj;
}
}
在这种情况下,该方法的锁定是什么synchronized
?