我在我的类中有一些私有变量(比如int a,int b,int c)。由于某些内部操作,我需要以线程安全的方式设置/获取这些变量,所以我使用了一些包装getter/setter并使用了范围互斥锁。关于公共变量访问的线程安全性
void setA(int a)
{
unique_lock<mutex> lock(opMutex);
this->a = a;
}
void getA(int a)
{
unique_lock<mutex> lock(opMutex);
return a;
}
void setB(int b)
{
unique_lock<mutex> lock(opMutex);
this->b = b;
}
void setC(int c)
{
unique_lock<mutex> lock(opMutex);
this->c = c;
}
我的问题是:这是possbile避免getter/setter方法(公共变量),并保持线程安全的分配/读了这些变量的操作?
有趣吗,原子类型是否重定义了一个线程安全的运算符? –
它只适用于基本类型吗? –
+1:不知道那种类型,很高兴谈论它 –