Здравствуйте, uzhas, Вы писали:
U>интересует вот какой сценарий: в одном потоке я заполняю некоторую структуру данных (пусть будет std::map), далее я запускаю несколько потоков, которые будут использовать заполненный объект в режиме readonly (пусть будут выполнять find) (предполагается использовать без мьютексов) U>1) какие есть гарантии по поводу видимости всего объекта в других потоках? я должен быть уверен, что все потоки работают с одним и тем же словарем U>2) какие есть средства в языке для управления видимостью ? я так понимаю, что барьеры выполняют эту функцию, только не ясно как оптимально их использовать. каждый раз при чтении использовать барьер может быть затратно
U>интересует как C++11, так и VS-specific
Если на момент обращения из других потоков map создан и заполнен, все ОК, больше ничего не надо.
Если используется создание по первому обращению, тут могут быть варианты.