Я понимаю основную функцию ключевого слова блокировки из MSDN
Заявление о блокировке (ссылка на С#)
Ключевое слово блокировки обозначает оператор блокировать как критический получение блокировки взаимного исключения для данного объекта, выполняющего и затем освободить блокировка.
Когда следует использовать замок?
Например, это имеет смысл в многопоточных приложениях, поскольку защищает данные. Но нужно ли, когда приложение не выделяет другие потоки?
Есть ли проблемы с производительностью при использовании блокировки?
Я только что унаследовал приложение, которое использует блокировку повсюду, и оно однопоточное, и я хочу знать, должен ли я их оставить, они даже необходимы?
Обратите внимание, что это скорее общий вопрос о знаниях, скорость приложения - это хорошо, я хочу знать, является ли это хорошим шаблоном проектирования, который следует соблюдать в будущем, или этого следует избегать, если это абсолютно необходимо.