graymstar
@graymstar
Любитель python

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

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

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

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

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

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