Мне нужно быстро заполнить хэш-набор из массива неуникальных элементов в C ++, поэтому я хочу использовать параллельный хэш-набор и вставлять в него несколько потоков.
Однако я заметил, что некоторые / многие / все параллельные библиотеки структур данных, доступные для C ++, включают в себя некоторый механизм управления потоками, который вы должны использовать, чтобы воспользоваться их параллельными структурами данных. (Я только на 90% уверен в том, что я говорю, так как я не копался в коде TBB или LibCDS и т. Д.
Итак, мой вопрос: в каких библиотеках, предлагающих одновременные хеш-карты / хэш-наборы, не требуется использовать управление потоками, а просто (скажем) иметь один поток для создания структуры, чем любое количество потоков выполняет операции вставки / поиска / удаления?
Вам не нужна ваша собственная блокировка (если вы это подразумеваете под «управлением потоками») при использовании параллельных контейнеров из Intel Thread Building Blocks. Следить за публикациями concurrent_hash_map.
Других решений пока нет …