¿Por qué no es una buena práctica sincronizar en Boolean?
Mi arquitecto siempre dice que
Nunca sincronizar en Boolean
No puedo entender la razón por la cual lo haría y realmente apreciaría si alguien pudiera explicarlo con un ejemplo de por qué no es una buena práctica.Código de muestra de referencia
<code>private Boolean isOn = false; private String statusMessage = "I'm off"; public void doSomeStuffAndToggleTheThing(){ // Do some stuff synchronized(isOn){ if(isOn){ isOn = false; statusMessage = "I'm off"; // Do everything else to turn the thing off } else { isOn = true; statusMessage = "I'm on"; // Do everything else to turn the thing on } } } </code>