锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
template<LockType lt>
class shared_lock;
template <>
class shared_lock<UNIQUE_LOCK>: private boost::noncopyable
{
public:
shared_lock(boost::shared_mutex& sm): sm_(sm)
{ sm_.lock(); }
~shared_lock()
{ sm_.unlock(); }
private:
boost::shared_mutex& sm_;
};
template <>
class shared_lock<SHARED_LOCK>: private boost::noncopyable
{
public:
shared_lock(boost::shared_mutex& sm): sm_(sm)
{ sm_.lock_shared(); }
~shared_lock()
{ sm_.unlock_shared(); }
private:
boost::shared_mutex& sm_;
};
璋冪敤鏂瑰紡錛?br>
//鐙崰閿佸畾
shared_lock<UNIQUE_LOCK> lock(session_mutex_);
//鍏變韓閿佸畾
shared_lock<SHARED_LOCK> lock(session_mutex_);

http://www.shnenglu.com/thisisbin/archive/2009/01/21/72417.html 涓鏂?single-write/multi-read 灝卞彲浠ュ簲鐢ㄨ繖縐峈AII椋庢牸鐨勫叡浜攣瀹?/p>