More Advanced Locks
Added in .NET 3.5 and .NET 4, respectively, the ReaderWriterLockSlim
and SpinLock
primitives are often useful, too. Their use is fairly specialized, so we’ll limit ourselves to a basic discussion.
ReaderWriterLock(Slim)
The essential problem of various concurrency and synchronization problems boils down to simultaneous reader and writer accesses on a shared resource. Often, the presence of multiple readers is allowed, while writers should be protected from one another to prevent harm. Therefore, the classic monitor-based lock is often too coarse-grained because it can’t differentiate from reader and writer accesses.
ReaderWriterLock
and ReaderWriterLockSlim
accommodate for such scenarios. The latter was introduced in .NET ...
Get C# 4.0 Unleashed now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.