Мне было интересно, получится ли в Java какое-нибудь странное поведение, если я синхронизируюсь дважды на одном объекте?
Сценарий выглядит следующим образом
pulbic class SillyClassName {
object moo;
...
public void method1(){
synchronized(moo)
{
....
method2();
....
}
}
public void method2(){
synchronized(moo)
{
doStuff();
}
}
}
Оба метода используют объект и синхронизируются на нем. Остановится ли второй метод при вызове первым методом, потому что он заблокирован?
Я так не думаю, потому что это тот же поток, но я не уверен в любых других странных результатах, которые могут произойти.