派生类中的synchronized方法

时间:2013-11-07 18:32:50

标签: java multithreading locking synchronized

如果基类A有一个“public synchronized void method(){}”,它没有被派生类B覆盖,那么 用于访问B类中的synchronized方法的锁是什么(即它是派生类对象还是基类对象)?

2 个答案:

答案 0 :(得分:4)

没有“基类对象”。

synchronized方法锁定了它们被调用的实例。

答案 1 :(得分:0)

public synchronized void method() {  
    ...
};

相同
public void method() {  
    synchronized(this){
        ...
    }
};

对于超级方法this表示类B的对象。因此,锁定将位于对象B的实例上。