Блокировка по полю или локальной переменной?

После того как я прочиталэтот вопрос сответ от Марка ....

Я иногда вижу людей, запирающихся наместный переменная.

Этот код не работает?

public void Do()
{
 object  o  = new Object();
 lock (o)
     {
      ...
     }
}

я верюobject o = new Object(); должно бытьвне метод как.Field

Поскольку каждый поток получает новый экземплярo будет несколько замков.

Что мне здесь не хватает? не должен»т это блокировать поля в этом конкретном случае?

Ответы на вопрос(5)

Ваш ответ на вопрос