首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Raku提供了哪些并发机制?如何评估它们?

Raku提供了哪些并发机制?如何评估它们?
EN

Stack Overflow用户
提问于 2020-12-28 13:05:15
回答 3查看 373关注 0票数 3

我是一名学生,目前正在写关于Raku的论文,为此我决定评估Raku (Perl6)在处理高并发性时是否是一种好的语言。

除了官方网站之外,我还没有找到任何关于Raku并发性的文章。此外,我不知道如何评估Raku的并发性(例如,我应该使用什么程序,应该将哪种语言与Raku进行比较,等等)。

Raku提供了哪些并发机制?这些文档记录在哪里?如何评估它们的功能和性能?

EN

回答 3

Stack Overflow用户

发布于 2020-12-29 06:39:24

Raku提供了许多不同的并发机制(而且还提供了许多并行编程方法,但我假设问题实际上只是关于并发的)。Raku中的大部分内容都可以在其他语言中找到;例如:

  • 用于延迟生成值的gather/take机制。在各种语言中,这被视为生成器函数;然而,在Raku中,没有单个堆栈框架限制,因此它们是协程功能强大的。关键的区别在于,Channel有存储空间-您可以将值放入其中,然后立即执行其他操作-而如果您向Supply发出值,则需要支付处理成本(提供了背压机制)。可以使用staged event-driven architecture.

Channel构建各种体系结构。

Raku中最独特的概念是react/supply/whenever结构,这在其他语言中是不存在的。编写多个异步流的处理器通常具有挑战性(订阅管理、并发控制);该构造为其提供了一种结构化编程方法。除此之外,这主要是一个语言集成在Raku中变得更强的问题,而不是把这些东西当作库来对待。

正如其他人所指出的那样,目前还没有太多正式文件。然而,这些幻灯片可能会很有趣(免责声明:它们是我的;我为Raku并发设计做出了贡献,并发明了react/supply/whenever).

  • 8 ways to do concurrency and parallelism in Perl 6
  • Understanding react, supply, and whenever
  • Inside Perl 6 concurrency -了解它是如何实现的
票数 15
EN

Stack Overflow用户

发布于 2020-12-28 18:53:48

关于Raku的concurrency 的论文:如果你想要描述并发是如何工作的,我不知道有什么学术论文。大多数关于Raku的书,比如我自己的Raku Recipes (由Apress出版),都包含一个关于并发的章节,所以这也是你可以查看的内容。

如何评估Raku的并发性:*Raku使用communicating sequential processes,它使用Channels作为第一类对象。从这个意义上说,它类似于Go。另一方面,它能够通过hyper/race自动处理数据流,就像Julia通过宏所做的那样。

也许the perl6-users mailing list会是一个更好的地方来问这样的问题。

票数 9
EN

Stack Overflow用户

发布于 2020-12-29 05:10:53

raku内置的CSP是由Tony (Anthony) Hoare构思的一个成熟的并发模型。你可能还想找比尔(威廉)罗斯科的工作,延续了托尼的研究方向。请注意,这将是一般的CSP研究。我怀疑在Raku上是否有任何可供参考的具体做法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65473206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档