给定以下课程:
class x
{
    Object lockOne = new Object();
    Object lockTwo = new Object();
    List<Something> listOne = new List<Something>();
    List<Something> listTwo = new List<Something>();
    void MethodOne()
    {
        lock(lockOne)
        {
            // some operation on listOne
        }
    }
    void MethodTwo()
    {
        lock(lockTwo)
        {
            // some operation on listTwo
        }
    }
}
假设使用两个锁定对象是否正确,MethodOne()并且MethodTwo()可以从不同的线程同时调用并注意这一点listOne并且listTwo无论如何都不相关。锁定中涉及的唯一操作是上面注释中指定的操作。