【发布时间】:2012-02-15 05:11:51
【问题描述】:
如果我有一个有 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<double>而不进行任何手动同步。
标签: c++ multithreading