C++ 运算符重载和互斥
我想在操作符(=)内创建互斥(boost) 下面的代码是线程安全的C++ 运算符重载和互斥,c++,overloading,mutex,operator-keyword,C++,Overloading,Mutex,Operator Keyword,我想在操作符(=)内创建互斥(boost) 下面的代码是线程安全的 ub_int & operator=(const int x) { mutex::scoped_lock mylock(MX_ub, defer_lock); mylock.lock(); this->v=x; mylock.unlock(); return *this; } 代码似乎是正确的,但是 如注释中所述,不应使用defer_lock参数 至少在本例中,您
ub_int & operator=(const int x)
{
mutex::scoped_lock mylock(MX_ub, defer_lock);
mylock.lock();
this->v=x;
mylock.unlock();
return *this;
}
代码似乎是正确的,但是
- 如注释中所述,不应使用defer_lock参数
- 至少在本例中,您可能根本不需要互斥,因为对int的写入通常是一个原子操作