Moved from: bobsql.com
This post is not about a specific SQL Server object but instead outlines a technique used in various locations to reduce contention while still providing thread synchronization. There are hundreds of locations throughout the SQL Server code base that must account for multi-threaded access. A common technique used in multi-threaded coding is a reader, writer lock.
The idea behind a reader, writer synchronization object is to allow reader parallelization in conjunction with writer synchronization. Let’s look at a simple pattern of a single path synchronization object. (Example: spinlock)
T1 – Acquires access for read T1