#cpp #cpp11
Потокобезопасность в стандартной библиотеке C++ shared_ptr Несколько потоков могут одновременно читать и записывать разные объекты shared_ptr, даже если они являются копиями с одним владельцем. Правильно ли я понимаю, что имеется ввиду тот факт, что я могу из разных потоков создавать, например weak_ptr из shared_ptr и обратно, но никак не обращаться к объекту, на который указывает этот shared_ptr. Или все-таки потокобезопасным будет и непосредственно само обращение к объекту, на который указывает shared_ptr?
Ответы
Ответ 1
shared_ptr гарантирует отсутствие гонок только для самого себя, а не для объекта на который он указывает. Разумеется объект на который указывает shared_ptr можно читать из разных потоков, т.к. это не приводит к гонке.
Комментариев нет:
Отправить комментарий