@JustMoose
Программист. Радиолюбитель. Прокрастинатор ;)

Задача читателей-писателей с... кешем?

Всем привет. В википедии есть разбор задачи читателей-писателей. В принципе, всё понятно... Но в реальной жизни всё слегка сложнее. Конкретно в моём случае, есть файл, который два процесса пишут, два процесса читают. Но. А что делать, если читатели хотят кешировать файл? Может есть какое-то готовое решение? Сам придумать не смог, ибо в классическом варианте чтение данных начинается с "захватить мьютекс"... Ну не перечитывать же файл в кеш всякий раз, когда мьютекс реально удалось захватить ;) Может файл и не менялся вовсе...
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Прекрасно, вы своими руками дошли до одной из фундаментальных задач современного айти "инвалидация кэша". Сорян, универсального и хорошего решения тут нет.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Всё очень просто:
1. Есть минимальный объект (в данном случае - файл)
2. Есть флаг обновления минимального объекта (триггер действия, метка времени обновления или/и несовпадение хеша контента в кэше)
Всё это - для объекта "файл".

Если проблема читать строки внутри файла (или параметры там чего-либо) - нужно уменьшить минимальный объект так, чтобы он удовлетворял всем пунктам.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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