我想知道如果在同一个对象上同步两次,在Java中我会得到任何奇怪的行为吗?
方案如下
pulbic class SillyClassName {
object moo;
...
public void method1(){
synchronized(moo)
{
....
method2();
....
}
}
public void method2(){
synchronized(moo)
{
doStuff();
}
}
}
Run Code Online (Sandbox Code Playgroud)
两种方法都使用该对象并在其上进行同步.第一种方法调用的第二种方法会因为它被锁定而停止吗?
我不这么认为,因为它是相同的线程,但我不确定可能发生的任何其他奇怪的结果.