Нет смысла иметь блокировки в приложении, если есть только один поток, и да, это снижение производительности, хотя для того, чтобы это попадание превратилось во что-то существенное, требуется немало вызовов.

имаю основную функцию блокировки ключевых слов от MSDN

Заявление блокировки (C # Reference)

Ключевое слово lock помечает блок операторов как критический раздел, получая блокировку взаимного исключения для данного объекта, выполняя оператор, а затем снимая блокировку.

Когда следует использовать замок?

Например, это имеет смысл с многопоточными приложениями, потому что это защищает данные. Но нужно ли это, когда приложение не раскручивает какие-либо другие потоки?

Есть ли проблемы с производительностью при использовании блокировки?

Я только что унаследовал приложение, которое везде использует блокировку, и оно является однопоточным, и я хочу знать, стоит ли их оставлять, нужны ли они вообще?

Пожалуйста, обратите внимание, что это больше вопрос общего знания, скорость применения хорошая, я хочу знать, является ли это хорошим шаблоном проектирования, которому нужно следовать в будущем, или его следует избегать, если это абсолютно не нужно.

Ответы на вопрос(10)

Ваш ответ на вопрос