기본 클래스의 methode foo가 Synchronized (클래스 이름)를 사용하고, 기본 클래스를 확장하는 두 개의 클래스 A와 B가 있습니다. 두 인스턴스에서 인스턴스와 B 인스턴스의 foo를 호출하면 동기화됩니다. 다음은 샘플 코드입니다.은 클래스 이름에 의해 동기화됩니다. 함수는 확장 클래스에서 유효할까요?
class BaseClass {
void foo() {
synchronized(BaseClass.class)
// do something like increment count
}
}
class A extends BaseClass {
}
class B extends BaseClass {
}
A a = new A();
B b = new B();
//in thread 1
a.foo() ;
//in thread 2
b.foo() ;