I have a big IO function that will continuesly load data from a folder, perform pure calculations on the data, and write it back.
I am running this function over multipl
The way you coordinate threads is via MVar
s or TVar
s if you want to use STM. You can read all about them in "Parallel and Concurrent Haskell". You could do something like:
do mutex <- newMVar ()
let putStrLn' = withMVar mutex . const . putStrLn
mapConcurrently_ (iofunPrintingWith putStrLn') folderList