我有一个在“非这个”对象上带有同步语句的方法
class Some_Class {
public A s = new A();
public void method_A() {
synchronized(s) {
....
}
}
}
我可以改为扩展 A 类并按如下方式进行同步:
class B extends A {
public A a;
public B(A a) {
this.a = a;
}
public synchronized void some_m() {
...
}
}
class Some_Class {
public A s = new A();
public void method_A() {
B b = new B(s);
b.some_m();
}
}
这两个同步是否等效?