Итак, я хочу создать карту примерно так: std::map<std::string, std::atomic<bool>>
. Мой вариант использования - некоторые проверки во время выполнения, чтобы увидеть, выполняются ли определенные условия (true или false); и я кеширую результат проверки условий на этой карте, так как эти проверки дороги.
Идея состоит в том, что я предварительно заполняю эту карту std::call_once
, а затем никогда больше не удаляю и не вставляю элементы. Однако у меня был бы параллельный доступ к нему через find (), и эти обращения могли бы изменить значение std::atomic
значений с помощью store (true).
Теперь мне интересно, является ли это потокобезопасным? Я должен признать, что чувствую, что нахожусь в неопределенной зоне поведения здесь.