Concurrency Raku提供了哪些并发机制,如何评估它们?
我是一名学生,目前正在撰写关于Raku的论文,为此我决定评估Raku(Perl 6)在处理高并发性时是否是一种好语言 除了官方网站外,我还没有找到任何关于Raku并发性的文章。此外,我不知道如何评估Raku的并发性(例如,我应该使用什么程序,应该将哪种语言与Raku进行比较,等等)Concurrency Raku提供了哪些并发机制,如何评估它们?,concurrency,raku,Concurrency,Raku,我是一名学生,目前正在撰写关于Raku的论文,为此我决定评估Raku(Perl 6)在处理高并发性时是否是一种好语言 除了官方网站外,我还没有找到任何关于Raku并发性的文章。此外,我不知道如何评估Raku的并发性(例如,我应该使用什么程序,应该将哪种语言与Raku进行比较,等等) Raku提供了哪些并发机制?这些文件记录在哪里?如何评估它们的功能和性能?关于Raku并发性的论文:如果你想了解并发性是如何工作的,我知道没有学术论文。例如,您可以在某些降临节日历出版物中查找。大多数关于Raku的书
Raku提供了哪些并发机制?这些文件记录在哪里?如何评估它们的功能和性能?关于Raku并发性的论文:如果你想了解并发性是如何工作的,我知道没有学术论文。例如,您可以在某些降临节日历出版物中查找。大多数关于Raku的书,比如我自己的Raku食谱(由Apress出版),都有一章是关于并发性的,所以你也可以看看。最后,将Raku的并发性用于进化计算,获得了良好的结果 如何评估Raku的并发性:*Raku使用,并将其用作第一类对象。从这个意义上讲,它类似于。另一方面,它能够通过自动线程数据流,就像Julia通过宏那样。因此,这可能是两个比较的目标
也许是一个更好的提问的地方。raku内置的CSP是Tony(Anthony)Hoare构思的一个成熟的并发模型。你可能还想找比尔(威廉)罗斯科的工作,他继续了托尼的研究路线。请注意,这将是一般CSP研究。我怀疑在Raku上是否有任何可参考的具体操作。Raku提供了许多不同的并发机制(而且还提供了许多并行编程方法,但我假设问题实际上只是关于并发)。拉库语的大部分内容可以在其他语言中找到;例如:
/收集
机制,用于延迟生成值。这在各种语言中被视为生成器函数;然而,在Raku中,没有单堆栈帧限制,因此它们具有协同路由功能。(这在涉及异步编程的任何上下文中都不重要,但它仍然符合并发性的定义)获取
- 传递异步操作的单个结果的
机制与JavaScript中的Promise
s或.Net中的Promise
非常相似(语义更接近后者)Task
是一个异步值流。它和有很多共同点,但是它选择了一个命名和API,适合整个Raku语言设计(例如,方法名匹配序列上的同步对偶)供应
是一个并发队列,它具有传递完成和错误的机制,这意味着您可以轻松地在Channel
和Supply
范例之间转换。关键区别在于,Channel
具有存储功能-您可以将值放入其中,然后立即执行其他操作-而如果您向通道
发出值,则您需要支付处理成本(提供背压机制)。可以使用供应
s构建各种体系结构,例如通道
react
/supply
/where
构造。编写多个异步流的处理器通常具有挑战性(订阅管理、并发控制);该构造提供了一种结构化的编程方法。除此之外,这主要是一个语言集成在Raku变得更强的问题,而不是像库一样对待这些东西
正如其他人所指出的,正式文件的形式还不多。然而,这些幻灯片可能很有意思(免责声明:它们是我的;我为Raku并发设计做出了贡献,并发明了react
/提供/无论何时)
- -调查其实施方式
这个问题正在讨论中。