2007-08-30から1日間の記事一覧

止められる fib その2

killThread という関数を使えば、別に Maybe とかで頑張らなくてもいいね。 main = do putStrLn "Enter number: " n <- getLine id <- forkIO $ fib (read n) putStrLn "Press any key to stop calculation." getChar killThread id putStrLn "Now thread st…

止められる fib

これまた適当に書きました。sfib が汚い。フィボナッチ数を裏で計算している途中で何かキーを入力すると、計算が止まります。(しばらく待ってても結果が出力されないことで確認できます)でも、計算を止めないとなぜかデッドロックする模様。はて。 import Co…

哲学者

無限ループなのになぜか終了してしまうという問題は、id:mzp に、最後の forkOS を消せばいいとアドバイスされて解決されました。サンクス。 うむ、たしかに親は子の終了を待たないってどっかに書いてあったな。なんで気がつかなかったんだろう。 あと Concu…