this
as its lock expression.
Constructs reported include synchronized
blocks which lock this
, and calls to wait()
notify()
or notifyAll()
which target wait()
.
Such constructs, like synchronized methods, make it hard to track just who is locking on a given
object, and make possible "denial of service" attacks on objects. As an alternative, consider
locking on a private instance variable, access to which can be completely controlled.