У нас есть целевой проект .NET 2.0 RTM (да, это должен быть .NET 2.0 RTM, у нас есть несколько ортодоксальных клиентов). И мне просто интересно, каковы недостатки ReaderWriterLock ? Почему это так плохо, что все говорят: «Не используйте это, попробуйте использовать что-то еще, например lock
оператор»? Если бы мы могли использовать .NET 3.5, я бы определенно использовал ReaderWriterLockSlim , но с ReaderWriterLock
мне немного страшно, когда все эти предупреждения приходят отовсюду. Кто-нибудь измерял производительность или что-то еще? Если есть проблемы с производительностью, при какой нагрузке мы можем их встретить?
У нас классическая ситуация с точки зрения ReaderWriterLock
основного назначения, то есть многократного чтения и редко записи. Использование оператора lock
заблокирует всех читателей. Возможно, это не страшная проблема для нас, но если бы я мог использовать ReaderWriterLock
, я был бы более доволен. ИМО, представив несколько мониторов, действительно очень плохая идея.