gpt4 book ai didi

c++ - 互斥类成员

转载 作者:行者123 更新时间:2023-11-30 04:29:32 26 4
gpt4 key购买 nike

如果我有一个包含 5 个成员变量的类,例如,

class XYZ
{
public:
double x1;
......
double x5;
};

有 5 个线程,每个线程访问同一对象的 1 个成员变量(哪个是未知的)。如果我想让它线程安全并且高效,是否有必要在类中也创建 5 个互斥锁成员。换句话说,

class XYZ
{
public:
double x1;
......
double x5;
boost::mutex mutex1;
......
boost::mutex mutex5;
};

谢谢。

最佳答案

互斥量可以从同一个线程锁定和解锁,所以如果您有 5 个不同的线程,它们将同时获取 5 个不同的临界区,是的,您需要为每个线程单独的互斥量。

关于c++ - 互斥类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288183/

26 4 0