【发布时间】:2008-11-10 13:02:56
【问题描述】:
Microsoft 的新 F# 编程语言将函数式编程(一流的词法闭包和尾部调用)与高效的并发垃圾收集器相结合,从而轻松利用多核。
OCaml、Haskell、Erlang 以及我所知道的所有免费 Lisp 和 Scheme 实现都没有并发 GC。 Scala 和 Clojure 有并发 GC,但没有尾调用。
因此,似乎没有结合这些功能的开源编程语言。对吗?
【问题讨论】:
-
请注意,根据blogs.msdn.com/clyon/archive/2004/09/08/226981.aspx,MS 的并发 GC 是单线程的(非并行的)。他们确实提供了一个并行 GC(“服务器 GC”),它不是并发的,但他们声称比并发 GC 具有更高的吞吐量。
-
请注意,您引用的博文来自 2004 年,并且 .NET GC 在 .NET 3.5 SP1 中已被新的“后台 GC”所取代。
标签: garbage-collection concurrency tail-call