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