.NET 3.5 introduced a new synchronization primitive called ReaderWriterLockSlim in the System.Threading namespace, which provides synchronized access to a resource for multiple readers, or one writer. Conceptually, ReaderWriterLockSlim does the same thing as ReaderWriterLock. But ReaderWriterLockSlim performs much better and is less prone to deadlocks. The .NET team recommends ReaderWriterLockSlim for all new development. Jim Mischel shows how it works.