He leído en algún lugar que synchronized(this)
se debe evitar para various reasons. Sin embargo, algo de código respetable que me encontré utiliza la siguiente en el constructor:¿Cuál es la diferencia entre synchronized (this) y synchronized (ClassName.class)?
public SomeClass(Context context) {
if (double_checked_lock == null) {
synchronized (SomeClass.class) {
if (double_checked_lock == null) {
// some code here
}
}
}
}
¿Existe realmente una diferencia entre synchronized(this)
y synchronized(SomeClass.class)
?
+1. Esto proporciona más claridad entre clase y bloqueo de objeto. No encontré nada mejor que esto. * Corto y simple de entender * – Ravi