omportamento de sincronização reentrante com instruções sincronizad
Tenho dois métodos em uma classe java que possuem um bloco de código que sincroniza usando o mesmo objeto. Eu entendo que no esquema de sincronização JAVA os bloqueios adquiridos por um thread são reentrantes. Com isso, posso dizer com segurança que o código abaixo não causará problemas em todos os casos?
public class Someclass
{
private static final Object LCK_OBJ = new Object();
//.....
publc void method1()
{
//some code....
synchronized(LCK_OBJ)
{
//some sychronized code.
method2(..);
}
//some more code....
}
protected static final void method2(..)
{
Someclass ref = null;
//some code which gets different other references of SomeClass in a loop....
ref.method3(..);
}
publc void method3()
{
//some code....
synchronized(LCK_OBJ)
{
//some sychronized code.
}
//some more code....
}
}//end of class