Можно создать дубликат:
Difference between lock(locker) and lock(variable_which_I_am_using)Почему блокировки выполняются на отдельных объектах?
Во всех «потокобезопасных» примеры кода я видел, они запирают на отдельный фиктивный объект. Почему автоматические блокировки непосредственно выполняются над данными?
большой вопрос, это была моя первая мысль тоже. – Russell
В интересах того, чтобы помочь людям наилучшим образом найти ответ, который они ищут, этот вопрос не должен быть закрыт. @Bill, так называемый точный дублирующий вопрос неловко озаглавлен и сформулирован и не содержит четкого определения фундаментального вопроса, в отличие от этого вопроса. Я считаю, что этот вопрос гораздо чаще привлекает внимание в поисках. Поэтому я проголосовал за повторное открытие. – Ash