Хочу кеш IO действий работающий так, что если одинаковое действие начали выполнять в 2 местах то работа не будет дублировать и треды подождут друг друга, и чтобы кеш протухал
Хочу кеш IO действий работающий так, что если одинаковое действие начали выполнять в 2 местах то работа не будет дублировать и треды подождут друг друга, и чтобы кеш протухал
data Action = Nope | InProgress (IO a) | Done a type Cache a = TVar (Map Id (Action (IO a)))
Хочу кеш IO действий работающий так, что если одинаковое действие начали выполнять в 2 местах то работа не будет дублировать и треды подождут друг друга, и чтобы кеш протухал
TVar с мапой и forkIO который раз в секунду убивает все что старше n секунд