Possible Duplicates:
Why is lock(this) {…} bad?
In C# it is common to use lock(objLock) where objLock is an object created simply for the purpose of locking.
Why is this preferable to lock(this)? What are the negative implications of lock(this) other than taking a lock out on the class itself?
Because something else could lock the instance, then you’d have a deadlock.
If you lock on the object you’ve created specifically for that purpose, you know you’re in complete control, and nothing else is going to lock on it unexpectedly.