Задать вопрос
graymstar
@graymstar
Любитель python

Реализация кэша для мульти поточного приложения?

Здравствуйте!

Столкнулся с проблемой кэширования своего мультипоточного приложения. Сначало реализовал в лоб через unordered_map, но потом столкнулся с проблемой когда приложение крашило в момент когда одновременно два потока пытались добавить/прочитать ключ. Крашило с Assertion '__first != __last' failed.

Долго искал реализацией thread safe кэша, но решения не нашёл. Кто сталкивался с подобной проблемой?
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Вам нужна lock-free хеш таблица (гуглите Lock free unordered_map). В стандартной библиотеке таких структур нет. Или просто используйте свои мьютексы при каждом обращении к структуре.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы