Чтение контейнера stl в другом потоке после записиC++

Программы на C++. Форум разработчиков
Anonymous
Чтение контейнера stl в другом потоке после записи

Сообщение Anonymous »

Предположим, что у нас есть глобальный контейнер std::. Я хочу написать в него кое-что, а затем прочитать из него множество потоков. Я не буду менять его после первоначальной записи.
Есть ли что-нибудь, что мешает компилятору просто оптимизировать доступы, сохраняя их в регистре или что-то в этом роде? Необходимо ли здесь такое ключевое слово, как Летучий? Какие гарантии я получаю, что операции над контейнером всегда действительно фиксируются в памяти?
Даже с блокировками и тому подобным я чувствую, что такие гарантии каким-то образом необходимы, и в таком языке, как C, я могли бы сделать их с помощью ключевого слова Volating.

Подробнее здесь: https://stackoverflow.com/questions/784 ... er-a-write

Вернуться в «C++»