スレッドを使ってみる(2)
直接となる原因は分かりませんが、Win32のsleepではなく、Control.Concurrent.threadDelayを使うと、上手くいくようです。
[0,0,0,32769,32768] [32768,32768,32768,32768,32768] [32768,0,0,0,0] [0,0,0,0,0] [0,32769,32768,32768,32768] [0,0,0,0,0]
期待した結果通り。
forkIOの場合はHaskellはOSスレッドではなくソフトウェアスレッドを使うので、そこらへんが絡んでる気はします。forkOSを使うとOSスレッドを使うらしいのに、それでもsleepを使って駄目なのは、どういうこっちゃ。