I was reading in Albahari\'s excellent eBook on threading and came across the following scenario he mentions that \"a thread can repeatedly lock the same object in a nested
Lets say you have two public methods, A() and B(), which both need the same lock.
A()
B()
Furthermore, let's say that A() calls B()
Since the client can also call B() directly, you need to lock in both methods. Therefore, when A() is called, B() will take the lock a second time.