Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
Здравствуйте, у меня вопрос по примеру с мьютексом и синглтоном.
singleton->do_job() приводит к segmentation fault (указатель singleton не обязан был быть синхронизирован с потоком thread1)

Правильно ли я понимаю, что для того, чтобы указатель был синхронизирован с потоком thread1 необходимо вызвать
std::unique_lock l(mtx); // `mutex` locks here (acquire memory)

?
Как я понял именно в этот момент произойдет синхронизация памяти между потоками и указатель в thread2 станет валидным.

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность