Я работаю с потоками C ++ и имею вопрос о безопасности ресурсов. < /p>
Предположим, что у меня есть std :: map (или другие контейнеры), удерживающая std :: shared_ptr -объекты.
Когда возникает сигнал, как Sigint (ctrl+c), я правильно останавливаюсь и соединяю все запуска в сигнальном ручке. В другом месте программы по -прежнему хранятся копии одних и тех же объектов shared_ptr, но потоки уже останавливаются и соединены - < /p>
это безопасно? Выходы. что даже если программа прервана и выходит из нечистого после Sigint,
, имеющая остаток shared_ptr в уже соединенную поток, все еще остается безопасным и не вызовет утечки ресурсов или сбоев ОС. < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... threads-ar
Безопасно ли, если другие контейнеры по -прежнему удерживают shared_ptr для потоков после того, как потоки остановлены и ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение