Является ли потокобезопасным, когда 2 потока изменяют различные члены объекта класса одновременно? - PullRequest
0 голосов
/ 14 мая 2019

Если thread1 и thread2 выполняются одновременно без блокировок, класс 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 Ответ

1 голос
/ 14 мая 2019

Это зависит.Как вы упомянули, когда объект является узлом очереди, при постановке в очередь и снятии очереди два потока не будут конфликтовать, если они получат доступ к члену узла соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...