Я меняю одну программу потока на несколько потоков, используя boost: thread library. Программа использует unordered_map как hasp_map для поиска. Мой вопрос...
В свое время многие потоки будут писать, а в другом - чтение, но не одновременно чтение и запись, то есть либо все потоки будут читаться, либо все будет писать. Будет ли это потокобезопасным и контейнер предназначен для этого? И если это будет, будет ли это действительно одновременным и улучшать производительность? Нужно ли использовать какой-либо механизм блокировки?
Я где-то читал, что С++ Standard говорит, что поведение будет undefined, но это все?
UPDATE: Я также думал о Intel concurrent_hash_map. Будет ли это хорошим вариантом?