Reader-Writer Mutexes

Mutual exclusion is necessary when at least one task writes to a shared variable. But it does no harm to permit multiple readers into a protected region. The reader-writer variants of the mutexes, denoted by _rw_ in the class names, enable multiple readers by distinguishing reader locks from writer locks. There can be more than one reader lock on a given mutex.

Requests for a reader lock are distinguished from requests for a writer lock via an extra Boolean parameter in the constructor for scoped_lock. The parameter is false to request a reader lock and true to request a writer lock. It defaults to true so that when it is omitted, a spin_rw_mutex or queuing_rw_mutex behaves like its non-_rw_ counterpart. The next section shows an example where the parameter is explicitly false in order to obtain a reader lock.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.202.167