Страницы

Поиск по вопросам

четверг, 6 февраля 2020 г.

Потокобезопасность в стандартной библиотеке C++

#cpp #cpp11


Потокобезопасность в стандартной библиотеке C++


  shared_ptr
  Несколько потоков могут одновременно читать и записывать
  разные объекты shared_ptr, даже если они являются копиями с одним
  владельцем.


Правильно ли я понимаю, что имеется ввиду тот факт, что я могу из разных потоков
создавать, например weak_ptr из shared_ptr и обратно, но никак не обращаться к объекту,
на который указывает этот shared_ptr. Или все-таки потокобезопасным будет и непосредственно
само обращение к объекту, на который указывает shared_ptr?
    


Ответы

Ответ 1



shared_ptr гарантирует отсутствие гонок только для самого себя, а не для объекта на который он указывает. Разумеется объект на который указывает shared_ptr можно читать из разных потоков, т.к. это не приводит к гонке.

Комментариев нет:

Отправить комментарий