Блокировка c # ссылки, переданной методу - плохая практика?

У меня есть метод, похожий на:

public static void DoSomething (string param1, string param2, SomeObject o) 
{
   //.....

   lock(o) 
   {
       o.Things.Add(param1);
       o.Update();
       // etc....
   }
}

Несколько моментов:

  1. Является ли блокировка таким способом плохой практикой?
  2. Следует ли вместо этого заблокировать частный статический объект ?
  3. Если да, то почему?
16
задан ghostJago 16 August 2011 в 12:57
поделиться