Если у меня есть класс с переменными 5 членов, например,Мьютекса
class XYZ
{
public:
double x1;
......
double x5;
};
Есть 5 нитей, которые каждый из них доступ 1 член переменных одного и тот же объекта (который один неизвестен). Если я хочу сделать его потокобезопасным и эффективным, необходимо также создать 5 элементов-мьютексов в классе. Иными словами,
class XYZ
{
public:
double x1;
......
double x5;
boost::mutex mutex1;
......
boost::mutex mutex5;
};
Спасибо.
Возможно, вы можете использовать 'std :: atomic' и не выполнять ручную синхронизацию, если это опция. –