Ich schreibe ein Multithreaded-Programm, das mvars ziemlich nutzt; In diesem Fall habe ich einen Thread, der periodisch die Liste innerhalb einer Mvar ändert. Leider gibt es ein Thunk-Speicherleck. Es scheint ein Problem zu sein, dass die 'map id' (in echtem Programm verwende ich etwas anderes als id) funktioniert. Ich kann einfach keinen Weg finden, wie ich das vermeiden kann - ich spielte mit 'Seq' ohne Ergebnis. Was ist der richtige Weg, um das Leck zu beheben?
%Vor%Neben dem Space-Leak kann die frühere Version auch ein "Zeitleck" haben, indem die nicht bewerteten Thunks, die in der Mvar platziert sind, vom empfangenden Thread statt vom sendenden Thread ausgewertet werden und möglicherweise beabsichtigte Parallelität zerstören.
>Tags und Links haskell memory-leaks