gpt4 book ai didi

用于并发编程的 .NET 语言

转载 作者:行者123 更新时间:2023-12-04 10:58:02 26 4
gpt4 key购买 nike

这可能是其他人已经看到的一个问题,但我正在尝试寻找一种专为(或支持)并发编程而设计的语言,该语言可以在 .net 平台上运行。

我一直在 erlang 中进行辅助开发,以了解该语言,并且喜欢建立一个稳定的并发甚至分布式系统是多么容易。它让我使用了 scala,它也有一个使用 actor 的不错的系统,但是 scala.net 目前似乎没有这个功能(当然这是一个并发系统与分布式系统)。我在看的两种 .net 语言是 Axum 和 F#。

这些是我唯一的选择吗?还有其他人吗?而且,如果它们是唯一的选择,那么它们各自的优点/缺点是什么?

最佳答案

Axum 是一个研究项目。一个真正的研究项目,只有来自它的想法最终会出现在产品中。 (与作为整体产品化的 F# 不同。)我什至不确定许可证是否允许使用它来开发生产应用程序。

F# 是一个不错的选择。

Clojure 也可以在 CLI 上运行,也是一个不错的选择。

Scala 的 CLI 端口目前正在复活(实际上是由 Microsoft 提供官方资金),Scala 的 Actor 库(包括内置的和 Akka)都非常好。

关于上面@wmeyer 的评论:Scala 本身没有任何分布式编程的规定。 (Clojure 也没有。)两者通常都依赖于为此目的而存在的无数 Java 框架,例如 Terracotta。然而,Akka 确实有用于分布式编程的远程 Actor,并且 Akka 与内置的 Scala Actor 库在很大程度上与 API 兼容,这允许平滑过渡。

Erlang 会很酷。 Kresten Krab Thorup 目前正在研究 Erjang,这是 JVM 上的 Erlang 实现,他取得了一些非常令人印象深刻的结果:在 HotSpot 上运行,Erjang 的扩展性与 BEAM 相当,有时甚至更好。例如,在具有 10000 个进程的(著名的)进程环基准测试中,Erjang 的启动速度仅比 BEAM 慢一点,但是当您重复运行几次并且 JIT 启动时,它会在大约 3 次运行后超过 BEAM(并且奇怪的是, BEAM 在 4 次运行后开始减速)。

我很确定您可以在 DLR 和 TPL 上构建一个性能同样出色的“#rlang”。

关于用于并发编程的 .NET 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com