Здравствуйте!
Я выполнял задание, в котором нужно написать многопоточный кэш для БД.
— Изначально кэш пустой, потом при обращении клиентов, начинает дергать данные из БД.
— Запись одновременно может читать только один поток.
— Периодически кэш-система заливает изменения обратно в БД.
— Прослойка БД — сделана условно, сэмулированна, это нормально.
https://github.com/Yukigaru/RJCache
Ревьюверу реализация не понравилось и он отметил, что есть баги.
Я очень хочу поднять свой уровень, поэтому обращаюсь за помощью. Могли бы вы обратить моё внимание на:
— баги в многопоточности (неверная синхронизация, потенциальные deadlocks, races, AV, и т.п.)
— серьезные performance баги (совсем мелкие можно не замечать) из-за неверных структур или суровая неэффективность алгоритмов
— по стилистике (оформление, названия, форматирование и т.п.) можно не обращать внимание, сейчас не это главное
Спасибо!