我想知道如果我在同一个对象上同步两次,在 Java 中是否会出现任何奇怪的行为?
场景如下
pulbic class SillyClassName {
object moo;
...
public void method1(){
synchronized(moo)
{
....
method2();
....
}
}
public void method2(){
synchronized(moo)
{
doStuff();
}
}
}
两种方法都使用对象并在其上同步。第二种方法被第一种方法调用时会因为被锁定而停止吗?
我不这么认为,因为它是同一个线程,但我不确定可能会出现任何其他奇怪的结果。