import Control.Concurrent
main = do
forkIO $ putStrLn "123"
forkIO $ putStrLn "456"
Я написал код выше. Но когда я его выполнил, я всегда получал только 123
. 456
не печатается. Я думаю, это потому, что основной поток закончился до другого потока, так что вся программа только что закончилась.
Как я могу это предотвратить? Любой api может удостовериться, что основной поток закончился после того, как закончились все потоки?
ОС: OS X 10.8.3
компилятор: ghc 7.4.2