我在我的類中有一些私有變量(比如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:不知道那種類型,很高興談論它 –