我可以使重载方法同步吗?

时间:2014-03-21 07:52:50

标签: java synchronized method-overriding

我正在覆盖超类中的方法,但是我想要同步这个方法。 是允许的吗?有什么可以替代?

1 个答案:

答案 0 :(得分:8)

是的,它是允许的,因为它不会改变合同而是实施。

认为你总是可以简单地添加一个同步块:

synchronized(this) { 

只是在方法的开头,这将实现大致相同的结果。在方法中还可能存在更深层次的其他(可能是隐藏的)锁,这使得它实际上是实现的一部分而不是API。