в консоль из нескольких потоков?
(ScrSSSacccprrriaaanpppgiii nnnwgggo rwwwdooo rrredddm bfdéûuéccifuhremeneers tration те чтоб вот так все не сливалось)
- можно синхронизировать через MVar, то есть вместо puStrLn использовать withMVar lock $ \_ -> putStrLn - можно завести отдельный поток, который выводит что-то на экран из очереди и во всех других потоках писать в эту очередь, а не на экран - можно использовать одну из библиотек для писания логов, co-log, katip, fast-logger
Да у меня простенький скрипт, мне так чтобы за минимум усилий это сделать*
+ строчная буферизация + пользоваться примитивами, которые синхронизированы (увы, я это умею это только в С, не в Хаскеле, но теоретически возможно)
Обсуждают сегодня