title: Question about locking strategy (C# / .NET 3.5 SP1)
body: <p>I need to write a class that hold as Dictionary. The Dictionary will be accessed by multiple threads.
  Each access will be very short.</p>
  
  <p>I expect:</p>
  
  <ul>
  <li>every minute an access that adds or removes entries</li>
  <li>Every 2 sec. I need to create a copy of that dict. to run checks over it (and then e.g. call the DB)</li>
  <li>Multiple times per second I'm updated a field of the value to one of the keys. (value is a struct) The same key will not be accessed concurrently.</li>
  </ul>
  
  <p>Which locking strategy would you choose and why?
  My first shot is to use ReaderWriterLockSlim. But after I read it's a least two times slower than Monitor, I'm not so sure anymore, as everytime I access the dict, I'm going to lock very short.</p>
  
  <p>tia
  Martin</p>