Considere el siguiente código:Sincronización en la "referencia" o en la instancia
public class Foo {
private static final Object LOCK = new Object();
private Object _lockRef1 = LOCK;
private Object _lockRef2 = LOCK;
private int _indx = 0;
public void dec() {
synchronized(_lockRef1) {
_indx--;
}
}
public void inc() {
synchronized(_lockRef2) {
_indx++;
}
}
}
es llamar a los métodos dec()
y inc()
multi-hilo? Por un lado, estos métodos están sincronizados en dos instancias diferentes _ lockRef1
y _ lockRef2
. Por otra parte, estas instancias "punto" en el mismo objeto LOCK
...
La pregunta está etiquetada como 'Java', por lo que creo que sería 'java.lang.Object'. – Yuval
@Yuval: Doh - no vio eso. Gracias, reparado :) –
¡Lo tengo! ¡Gracias! En realidad, tengo un emun en lugar de un "Objeto final estático privado", pero parece que la idea es la misma. – Lopotun