В этом случае безопасна ли поток std :: unoromeded_map?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 В этом случае безопасна ли поток std :: unoromeded_map?

Сообщение Anonymous »

Предположим, что один поток непрерывно вызывает только следующие функции.

здесь, insert_data проверьте, существует ли клавиша в std :: unomordered_map , и если он не существует, insert_data вызовите функцию, которая добавляет новую клавишу и изменяет его значения. < /p>

Код: Выделить всё

void insert_data(int key, int value, std::unordered_map& my_map)
{
if (my_map.find(key) == my_map.end())
{
my_map[key] = std::vector();
}

my_map[key].push_back(value);
}
< /code>
В другом потоке он вытекает на std :: unoromeded_map снова и снова.void iteration(std::unordered_map& my_map)
{
for (auto& [key, value] : my_map)
{
std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/75029042/is-stdunordered-map-thread-safe-in-this-case[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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