Коли доречно використовувати Monitorклас або lockключове слово для безпеки потоків у C #?
РЕДАГУВАТИ:
З відповідей на сьогоднішній день видно, що lockце коротка рука для серії дзвінків до Monitorкласу. Для чого саме потрібен короткий виклик блокування? Або більш явно,
class LockVsMonitor
{
private readonly object LockObject = new object();
public void DoThreadSafeSomethingWithLock(Action action)
{
lock (LockObject)
{
action.Invoke();
}
}
public void DoThreadSafeSomethingWithMonitor(Action action)
{
// What goes here ?
}
}
Оновлення
Дякуємо усім за допомогу: я опублікував ще одне запитання як продовження певної інформації, яку ви всі надали. Оскільки ви, здається, добре розбираєтесь у цій галузі, я опублікував посилання: Що не так із цим рішенням щодо блокування та управління заблокованими винятками?