当2个线程同时修改类对象的不同成员时,线程安全吗?

时间:2019-05-14 03:25:29

标签: multithreading locking

如果线程1和线程2同时执行而没有锁,则A类将是线程安全的。

class A{
private:
   Data data_;
   next ptr_;
};
A a = new A();
thread1:
  A obj1 = a;
  obj1.data_ = 5;
thread2:
  A obj2 = a;
  obj2.ptr_ = another;

1 个答案:

答案 0 :(得分:1)

这取决于。正如您提到的,当对象是队列节点时,通过排队和出队,两个线程分别在访问节点成员时不会冲突。