【发布时间】:2014-03-21 07:52:50
【问题描述】:
我正在重写超类中的一个方法,但是我希望这个方法是同步的。 是否允许?有什么替代方案?
【问题讨论】:
标签: java synchronized overriding
我正在重写超类中的一个方法,但是我希望这个方法是同步的。 是否允许?有什么替代方案?
【问题讨论】:
标签: java synchronized overriding
是的,这是允许的,因为它不会更改合同而是更改实施。
认为您总是可以简单地添加一个同步块:
synchronized(this) {
就在方法的开头,这将达到大致相同的结果。该方法中还可能有其他(可能是隐藏的)锁,这使得它真正成为实现的一部分,而不是 API。
【讨论】:
Synchronized block 对吗?好吧,我应该试试这个。谢谢。