IORef [a]
またはの内部など、並列スレッドで常に成長しているリストがありますMVar [a]
。スレッドが出るまでも並行して流したい。これをどのように実装すればよいですか?次のようになります。
main = do
list <- newIORef []
forkIO $ grow list
...
result <- ... $$ sinkHash
return result
それとも、リストを成長させずに、スレッド内で生成されたすべてのチャンクを次々とシンクするより良い方法があるでしょうか?