Boost logo

Boost Users :

Subject: Re: [Boost-users] Confused about shared_mutex usage.
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-07-02 10:57:32


AMDG

Jason Cipriani wrote:
> Hi all,
>
> I'm looking at the shared_mutex documentation here:
>
> http://www.boost.org/doc/libs/1_35_0/doc/html/thread/synchronization.html#thread.synchronization.mutex_types.shared_mutex
>
> But the documentation seems to be a little bit sparse and I'm having
> trouble figuring out how to use shared_mutex as a read/write lock.
> Just to make sure, lock_shared/unlock_shared is for the "readers", and
> lock/unlock is for the "writers"? If not, how do I lock/unlock it for
> reading, and how do I lock/unlock it for writing (exclusive lock)?
>
> Also I'm having trouble understanding what a "lock" is as opposed to a
> mutex. What is boost::shared_lock?
>

A lock is an RAII class.

{
    // acquire lock
    boost::shared_lock<boost::shared_mutex> l(m_mutex);
    // do stuff
} // lock released

{
    // acquire lock
    boost::unique_lock<boost::shared_mutex> l(m_mutex);
    // do stuff
} // lock released

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net