Ich habe einen Spieleserver, der mit forstabIO einen Thread für jeden Client erzeugt. Ich möchte zum Beispiel eine Liste von Kunden und eine Liste von Monstern mit allen teilen.Container für Haskell TVars
Meine erste Idee war, einen TVar-Container für einen Datentyp mit beiden Listen zu haben, aber sagen zwei Threads ändert einen Client und Monster zur gleichen Zeit, das würde Rollback eines von ihnen, wenn ich diesen Teil richtig verstanden habe. Was wäre ein unnötiger Rollback.
Die zweite Idee war, die Listen TVars zu machen und sie dann einfach als Argumente zu übergeben, aber ich würde sie lieber in einem Container haben, um den Code sauber zu halten und einfach zu verwalten, wenn weitere Listen hinzugefügt werden sollen.
Gibt es eine Möglichkeit, ein paar TVars in einem Container zu überholen oder überschätze ich die erste Idee?