gpt4 book ai didi

.net - .NET 的高级多线程/并发抽象

转载 作者:行者123 更新时间:2023-12-04 11:45:43 25 4
gpt4 key购买 nike

我只是想知道为什么与 Scala、F# 或 Haskell 不同,基本的 .NET 框架(在 C# 或 VB 中可用)似乎对更高级别的并发模式几乎没有 native 支持。

有可用的基 native 制——锁、监视器、线程池——但是呢?

  • 同步变量 ( MVar )
  • 同步 channel
  • 异步 channel (参见 Go 或 Haskell)
  • Actor /消息传递 ( Erlang-Style )
  • future
  • 并行计算/列表函数
  • 通过 Linq 的可组合异步计算(如 F# 的 async {} )

  • 甚至软件事务内存 ( STM for Haskell )

    即使考虑到 ParallelFX,这个列表也只包含了一部分。

    是否有更深层次的原因反对提供此类功能(而是希望人们使用 IAsyncResult 的),或者是否计划在 future 集成?

    最佳答案

    对最好和最有效的抽象进行了积极和持续的研究,这些抽象可用于在不掌握细节的情况下启用并发软件,大多数开发人员要么没有时间,要么不愿意将他们的技能发展到那个水平。

    鉴于此,BCL 对新概念的进入阈值相当高,但这并不意味着它们不会发生。最近,在 .Net 4 中,将引入 Task Parallel Library . TPL 的早期版本实际上是 included a Future<T> type此后已被 newer 取代abstractions .

    通过研究语言 Axum 在 channel 等领域也有积极的研究正在进行中.

    我显然不是团队的一员,我也不为 Microsoft 工作,但我的理解是,人们渴望在该领域进行创新,超越已经广泛可用的领域。

    关于.net - .NET 的高级多线程/并发抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751054/

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