我可以异步运行Seq.iter的动作功能吗?

Kir*_*kov 3 .net parallel-processing f# asynchronous

所以,标题描述了一切.

Seq.iter (fun item -> (*do something*)) sequence
Run Code Online (Sandbox Code Playgroud)

我可以将所有这些lambda函数作为并行运行吗?当这个函数做了一些大工作时,它会很有用.

Ste*_*sen 6

当然,如果您的目标是.NET 3.5 +,那么

  1. 下载F#PowerPack
  2. 添加对FSharp.PowerPack.Parallel.Seq的引用
  3. 打开Microsoft.FSharp.Collections
  4. 使用PSeq模块代码离开,例如 {1..100} |> PSeq.iter (printfn "%A")

如果您的目标是.NET 2.0,请按照此处的说明System.Linq.ParallelEnumerable将Rx项目的后端版本编译为PowerPack Parallel.Seq项目.