gpt4 book ai didi

f# - Erlang 在 F# 中的并发 promise

转载 作者:行者123 更新时间:2023-12-04 22:37:20 25 4
gpt4 key购买 nike

乔·阿姆斯特朗先生说,使用 Erlang,我们可能会使用 N 个内核使顺序代码运行速度提高 N 倍。这也适用于 F# 吗?还是 Erlang VM 就是这样设计的? F# 是否在操作系统或语言中管理进程?

最佳答案

MailboxProcessor F# 中的类型(参见 MSDN docs)实现了与 Erlang 基本相同的基于代理的并发模型。唯一的区别是 Erlang 更适合分布式计算(跨多台计算机),而 F# 主要使用单机(但多线程/核)的编程模型。

总的来说,我认为关于 Erlang 的说法也适用于 F#。

关于报价 :我不太确定作者到底想说什么(也许缺少一些上下文?)。这当然并不意味着您可以采用通常的(顺序)程序并神奇地将其运行 N 倍。

但是,如果您使用 Erlang 或 F# 基于 agnet 的并发编程模型,那么您可以通过每个额外的核心获得加速。这意味着您将把程序编写为大量代理(F# 中 MailboxProcessor 的实例)。单个代理被编写为连续的子程序,但您仍然需要以不同的方式考虑编程。

技术方面 :Erlang 不使用物理操作系统线程,F# 也不使用,因此行为应该非常相似。这意味着您可以创建大量代理(这是编程模型的重点)。 F# 中的代理基于异步工作流,这使得这成为可能。

关于f# - Erlang 在 F# 中的并发 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3847187/

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