在Java中继承的情况下进行同步

cor*_*are 3 java inheritance multithreading

假设有两个类,父类和子类扩展了父类。现在,两者都有两个同步的方法。我的问题是哪个对象锁将用于锁定此同步方法,我创建的对象如下:Parent p = new Child(); 是父对象锁还是子对象锁?

Jan*_*sch 5

没有父对象锁或子对象锁。只有一个锁,即对象的。在这种情况下,它将是p

如果另一个线程锁定了子代的同步方法,则线程在进入父代的同步方法时将阻塞,反之亦然。