All synchronization code should exclusively use this lock object, hence making it trivial to ensure that there are no deadlocks. It also means that the lock should never be held for long. In particular, no code holding this lock should ever wait on another thread.