При реализации блокировки я использовал для создания частного объекта внутри моего класса:
Если я хочу быть уверенным, что он заблокирован в потоке, который создал мой класс:
private object Locker = new object();
Если я хочу быть уверенным, что он будет заблокирован для всех потоков внутри моего приложения:
private static object Locker = new object();
Но здесь: Почему объект блокировки должен быть статическим?
и по ряду других вопросов каждый говорит, что объект должен быть readonly
. Я не нашел причины - даже в MSDN или JavaDoc.
Как я часто использую такую конструкцию, может кто-нибудь объяснить мне, почему я должен использовать readonly
?
Спасибо!