【发布时间】:2011-01-15 01:30:13
【问题描述】:
我有一个单子函数 getRate:
getRate :: String -> IO Double
我想将此函数映射到字符串列表。通常,我会这样做:
mapM getRate ["foo", "bar"]
但由于每次调用 getRate 都会进行网络调用,我想并行化地图,以便在单独的线程中获取每个速率(或至少分散在队列中)。我正在考虑类似的事情
parMapM getRate ["foo", "bar"]
但没有 parMapM 函数,并且 parMap 不适用于单子函数。
我能做什么?
【问题讨论】:
标签: multithreading haskell concurrency parallel-processing monads