[英]F#: Trying to support passing a function in a constructor in both F# and C# idioms
[英]F# support for Multiple Cores
我是F#的新手,但在Classic VB,C#和LINQ方面有几年的经验
我喜欢F#并了解它默认会提供对多核的支持。 在服务器上使用可用的多核(4/5/6)是一个非常有利的优势。
F#如何做到这一点?
我也明白LINQ提供并行处理 - 它的工作方式与F#相同吗? 为什么C#没有完整的并行核心处理?
谢谢
F#中没有神奇的支持来自动并行化您的代码。 只是F#的各种功能使编写并行代码比使用更强制或OO语言更容易。
也就是说,请查看Async模块,了解如何在F#中轻松编写并行代码。
我知道F#有async
,你可以像这样使用:
getIds()
|> List.map (
fun id -> async {
do! somethingAsync1 id
do! somethingAsync2 id
}
)
|> Async.Parallel
|> Async.RunSynchronously
这并不是说你不能在C#中做一些工作。 当然,F#在并发编程方面有一些很好的语法。
我想你会喜欢看Luke的PDC视频:
它讨论了为什么并行/并发编程很难,以及F#的哪些特性使其更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.