Всегда ли будет работать блокировка weak_ptr в инструкции instore = com_r.lock ()? (int) * com_r.lock (): магазин; '? - PullRequest
0 голосов
/ 07 августа 2020

, если поток с его share_ptr прекращается прямо сейчас

для instore = com_r.lock() ? *com_r.lock() : instore; я более или менее знаю, что он будет.

C ++: Обработка уничтожения локального объекта потока

, но теперь ptr <std::atomic_int>

upd:

global scope

std::weak_ptr<std::atomic_int> com_r;
int instore;

thread 1

std::shared_ptr<std::atomic_int> sp_tray = td::shared_ptr<std::atomic_int>(new std::atomic_int(0));
com_r = sp_tray;

thread 2

    instore = com_r.lock() ? (int)*com_r.lock() : instore;
    instore = com_tr ? 25 /* max */ : instore;

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