Because this
is not encapsulated by the class and thus it is hard to reason about who locks on this. I.e. in order to find out what part of the code is locking on this
you need to go through a lot. If, on the other hand, you restrict locking to a private member, it is easy to reason about where locking takes place.
Brian Rasmussen
2010-09-17 17:55:28