我正在对设计一个新的软件应用程序做一些早期的研究。并发性和多线程可能会发挥重要作用,所以我一直在阅读各种主题。
生产者-消费者模型,至少它是如何用Java表示的,有一些表面上的相似之处,但似乎与Erlang和Scala等语言中使用的参与者模型有很大的不同。我很难找到任何好的比较数据,或者使用或避免使用其中一个的具体原因。
参与者模型是否可以使用Java或C#,或者您是否使用了为此目的而构建的语言之一?还有第三条路吗?
发布于 2011-06-04 21:55:15
当然,您可以在java和C#中实现一个基于参与者的模型。事实上,微软已经做了了。但是,如果模型是语言中的抽象,则可以获得许多好处。
话虽如此,但对于演员模式是否会成为未来的并发模式,仍没有定论。Clojure使用了软件事务存储器,因为它是底层的并发模型。
就我个人而言,我认为参与者模型和STM最终都不是事实上的并发模型,而是一种OOP/语言,其并发抽象直接内置于该语言中。
发布于 2012-04-10 14:40:08
如果您想在Java (和Scala)中尝试参与者模型,您可能想看看阿克卡。也正在为C++开发库(请参阅这个维基百科页面上列出的库)。
因此,似乎不必在编程语言中内置参与者模型。
https://softwareengineering.stackexchange.com/questions/81561
复制相似问题