Seção sincronizada no mapa assíncrono
Eu tenho uma grande função de E / S que carregará dados de uma pasta continuamente, executará cálculos puros nos dados e os gravará novamente.
Estou executando esta função em várias pastas em paralelo usando
mapConcurrently_ iofun folderList
Isso funciona perfeitamente ... mas um pouco demais. Agora, mesmo a saída de caracteres doputStrLn
as chamadas são assíncronas, o que leva a um log de console ilegível.
Existe uma maneira de sincronizar as ações de E / S ou, melhor ainda, uma versão sincronizada do putStrLn?