Ejemplo
public
class
ClassA {
private
Lock l;
public void
methodA () {
synchronized
(l) {
//...
}
}
}
Solución
Utilice lock() y unlock() en su lugar
public
class
ClassA {
private
Lock l;
public void
methodA () {
l.lock()
//...
l.unlock()
}
}