Edu*_*yan 0 c++ multithreading boost mutex
我们到了:
template<typename TK, typename TV>
class MetaAssociator
{
public:
void Set(TK key, TV const & value)
{
boost::lock_guard<boost::mutex> lock(m_Mutex);
m_Map[key] = value;
}
TV Get(TK key) const
{
boost::lock_guard<boost::mutex> lock(m_Mutex); // this one
std::map<TK,TV>::const_iterator iter = m_Map.find(key);
return iter == m_Map.end() ? TV() : iter->second;
}
private:
mutable boost::mutex m_Mutex;
std::map<TK,TV> m_Map;
};
Run Code Online (Sandbox Code Playgroud)
我们真的需要在get函数中锁定互斥锁吗?我们只提供只读访问权限.如果我们不怎么办?
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |