2

我正在考虑一种函数式语言,它可以在 FreeBSD、OSX、iOS 下与我的 C/Objective-C 环境很好地配合使用。看起来我最好的选择是为特定函数创建函数式语言库,用 Haskell 编写,使用 GHC 编译,并使用 FFI 将此函数式代码作为标准 C 调用调用。

我的问题是,在这种情况下如何处理并发? 使用函数式语言的一个动机是,对于我想要对不可变数据集进行操作的问题,我想要进行大量的并行化。但是,使用我在这里详述的方法,我会得到任何并行化吗?看来我可以编译并指定使用 2 个线程,但是有没有办法使用 GCD 而不是线程(出于所有原因 GCD 比线程好,例如每个平台自动扩展的并行化量)?或者,正如我所描述的那样使用 FFI,我是否完全失去了多线程的能力?

这种语言似乎最适合我正在尝试做的事情,但我想在我投入大量时间真正学习它之前了解它是否合适

4

1 回答 1

2

GHC 的运行时取代了对 GCD 的需求,不是吗?它已经提供了跨平台的并行性。

于 2011-04-03T19:06:35.690 回答