标签:
class Counter : boost::noncopyable{ public: Counter():value_(0){} int value() const; int getAndIncrease(); private: int value_; mutable MutexLock mutex_; }; int Counter::value() const{ MutexLockGuard lock(mutex_);///lock的析构会晚育返回对象的构造 return value_; ///lock会在这里析构,作用域结束的时候,因此可以有效包括这个功效数据 } int Counter::getAndIncrease(){ MutexLockGuard lock(mutex_); int ret = value_++;///每个对象有自己的mutex_,因此不同对象之间不构成锁争用. return ret; }
正确使用智能指针share_ptr/weak_ptr解决前面的5个问题,
标签:
原文地址:http://www.cnblogs.com/li-daphne/p/5560380.html