 <p>There can be situations when you will need two different <code>lock</code>'s, which are independent of each other. Meaning when one 'lockable' part of code is locked other 'lockable' should not be locked. That's why there is ability to provide lock objects - you can have several of them for several independent <code>lock</code>'s </p>