¿Qué sucede en el siguiente código? Funciona la sincronización? Esta es una pregunta de entrevista.¿Qué sucede si la variable de sincronización se reasigna en java?
class T
{
public static void main(String args[])
{
Object myObject = new Object();
synchronized (myObject)
{
myObject = new Object();
} // end sync
}
}
Si su bloque sincronizado está en el circuito principal y no en un circuito, solo se ejecutará una vez. No tiene sentido sincronizar aquí (a menos que llame a ese principal desde otro principal, lo que sería extraño). – assylias