'''Intent:''' Allow concurrent read access to an object but require exclusive access for write operations. '''See also''' LockPattern, SchedulerPattern, BalkingPattern ---- Programs that have very high ReadToWriteRatio or that have read-side critical sections with very large runtimes compared to synchronization OverHead can benefit from specialized synchronization primitives that allow several ''readers'' to occupy a given critical section concurrently, but allow only one writer to do so, and cause that writer to exclude all readers. ---- It ''is'' possible for any number of readers to read the "previous version" of a data structure, while simultaneously, any number of writers are updating the data structure. But this gets complicated and tricky in a hurry. See WaitFreeSynchronization. "DoubleBuffer''''''ing" allows any number of readers to read the "previous version" of a data structure, while simultaneously, one writer is working on updating the "current version". ---- From SynchronizationStrategies. See also: WriteYourOwnThreadingPackage ---- CategoryPattern CategoryConcurrencyPatterns