Если вам нужно больше контроля, лучше использовать монитор. Вы можете использовать Wait, TryEnter и Pulse для расширенного использования (например, барьеры, семафоры и т. Д.).
целесообразно использовать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 ?
}
}
Обновить
Спасибо всем за вашу помощь: я отправил еще один вопрос в продолжение некоторых предоставленных вами сведений. Поскольку вы, кажется, хорошо разбираетесь в этой области, я разместил ссылку:Что плохого в этом решении для блокировки и управления заблокированными исключениями?