title: Difference in usage and implementation of ManualResetEvent(Slim), Semaphore(Slim) and ReaderWriterLock(Slim)
body: <p>With .net 4.0 several new classes have been added relating to threading: <a href="http://msdn.microsoft.com/en-us/library/system.threading.manualreseteventslim.aspx" rel="noreferrer">ManualResetEventSlim</a>, <a href="http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx" rel="noreferrer">SemaphoreSlim</a> and <a href="http://msdn.microsoft.com/en-us/library/system.threading.readerwriterlockslim.aspx" rel="noreferrer">ReaderWriterLockSlim</a>.</p>
  
  <p>What is the difference between the Slim versions and the older classes, and when should I use one over the other?</p>