0
如下面的示例所示,一旦对call
方法中的对象执行了锁定,则不需要其他方法来使用关键字。多级java行为同步
public class Prac
{
public static void main(String[] args)
{
new Prac().call();
}
private synchronized void call()
{
further();
}
private synchronized void further()
{
oneMore();
}
private synchronized void oneMore()
{
// do something
}
}
但是,如果我还添加关键字further
和onceMore
,这样的遭遇做什么java吗? java是否检查是否需要锁定?或者当方法调用位于同一堆栈中时,它只是继续执行,而不检查是否需要锁定,因为锁定已经获取。
注意:我怀疑java是如何在这种情况下行为的,我不确定,但我认为它与偏向锁定不同。
检查锁是否会增加任何性能开销? – Batty 2014-12-04 09:35:46