所以,标题描述了这一切。
Seq.iter (fun item -> (*do something*)) sequence
我可以将所有lambda函数作为并行运行吗?当这个函数做了一些大的工作时,它会很有用。
答案 0 :(得分:6)
当然,如果您的目标是.NET 3.5 +,那么
{1..100} |> PSeq.iter (printfn "%A")
如果您的目标是.NET 2.0,请按照我的说明here将Rx项目中的System.Linq.ParallelEnumerable
的后端版本编译到PowerPack Parallel.Seq
项目中。
答案 1 :(得分:1)
如果要并行运行该功能,只需使用Parallel.ForEach
功能
Parallel.ForEach(sequence, fun item -> (* do something *))
这可以从F#
中正常工作答案 2 :(得分:0)
您可以使用Parallel.ForEach
。 Seq.iter
不应该用于那个目的。看那个
Seq.iter (fun n -> printfn "%i" (nth_prime_number n)) { 10 .. 1 }
期待是
29
23
19
17
13
11
7
5
3
2
你得到任何东西。例如
29
19
23
11
17
13
7
3
2
5